C# Class Universe.Modules.Chat.MessageTransferModule

Inheritance: INonSharedRegionModule, IMessageTransferModule
Exibir arquivo Open project: Virtual-Universe/Virtual-Universe

Protected Properties

Property Type Description
IMUsersCache string>.Dictionary
m_addedHttpHandler bool
m_agentInfoService IAgentInfoService
m_scenes List

Public Methods

Method Description
AddRegion ( IScene scene ) : void
Close ( ) : void
HandleUndeliveredMessage ( GridInstantMessage im, string reason ) : void
Initialize ( IConfigSource config ) : void
RegionLoaded ( IScene scene ) : void
RemoveRegion ( IScene scene ) : void
SendInstantMessage ( GridInstantMessage im ) : void
SendInstantMessages ( GridInstantMessage im, List AgentsToSendTo ) : void

Protected Methods

Method Description
GridInstantMessageCompleted ( IAsyncResult iar ) : void
SendGridInstantMessageViaXMLRPC ( GridInstantMessage im ) : void
SendGridInstantMessageViaXMLRPCAsync ( GridInstantMessage im, GridRegion prevRegion ) : void

Recursive SendGridInstantMessage over XMLRPC method. This is called from within a dedicated thread. The first time this is called, prevRegionHandle will be 0 Subsequent times this is called from itself, prevRegionHandle will be the last region handle that we tried to send. If the handles are the same, we look up the user's location using the grid. If the handles are still the same, we end. The send failed.

SendMultipleGridInstantMessageViaXMLRPC ( GridInstantMessage im, List users ) : void
doIMSending ( string httpInfo, GridInstantMessage message ) : bool

This actually does the XMLRPC Request

processGridInstantMessage ( string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse ) : byte[]

Method Details

AddRegion() public method

public AddRegion ( IScene scene ) : void
scene IScene
return void

Close() public method

public Close ( ) : void
return void

GridInstantMessageCompleted() protected method

protected GridInstantMessageCompleted ( IAsyncResult iar ) : void
iar IAsyncResult
return void

HandleUndeliveredMessage() public method

public HandleUndeliveredMessage ( GridInstantMessage im, string reason ) : void
im Universe.Framework.ClientInterfaces.GridInstantMessage
reason string
return void

Initialize() public method

public Initialize ( IConfigSource config ) : void
config IConfigSource
return void

RegionLoaded() public method

public RegionLoaded ( IScene scene ) : void
scene IScene
return void

RemoveRegion() public method

public RemoveRegion ( IScene scene ) : void
scene IScene
return void

SendGridInstantMessageViaXMLRPC() protected method

protected SendGridInstantMessageViaXMLRPC ( GridInstantMessage im ) : void
im Universe.Framework.ClientInterfaces.GridInstantMessage
return void

SendGridInstantMessageViaXMLRPCAsync() protected method

Recursive SendGridInstantMessage over XMLRPC method. This is called from within a dedicated thread. The first time this is called, prevRegionHandle will be 0 Subsequent times this is called from itself, prevRegionHandle will be the last region handle that we tried to send. If the handles are the same, we look up the user's location using the grid. If the handles are still the same, we end. The send failed.
protected SendGridInstantMessageViaXMLRPCAsync ( GridInstantMessage im, GridRegion prevRegion ) : void
im Universe.Framework.ClientInterfaces.GridInstantMessage
prevRegion Universe.Framework.Services.GridRegion /// Pass in 0 the first time this method is called. It will be called recursively with the last /// regionhandle tried ///
return void

SendInstantMessage() public method

public SendInstantMessage ( GridInstantMessage im ) : void
im Universe.Framework.ClientInterfaces.GridInstantMessage
return void

SendInstantMessages() public method

public SendInstantMessages ( GridInstantMessage im, List AgentsToSendTo ) : void
im Universe.Framework.ClientInterfaces.GridInstantMessage
AgentsToSendTo List
return void

SendMultipleGridInstantMessageViaXMLRPC() protected method

protected SendMultipleGridInstantMessageViaXMLRPC ( GridInstantMessage im, List users ) : void
im Universe.Framework.ClientInterfaces.GridInstantMessage
users List
return void

doIMSending() protected method

This actually does the XMLRPC Request
protected doIMSending ( string httpInfo, GridInstantMessage message ) : bool
httpInfo string RegionInfo we pull the data out of to send the request to
message Universe.Framework.ClientInterfaces.GridInstantMessage
return bool

processGridInstantMessage() protected method

protected processGridInstantMessage ( string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse ) : byte[]
path string
request Stream
httpRequest Universe.Framework.Servers.HttpServer.Implementation.OSHttpRequest
httpResponse Universe.Framework.Servers.HttpServer.Implementation.OSHttpResponse
return byte[]

Property Details

IMUsersCache protected_oe static_oe property

Param UUID - AgentID Param string - HTTP path to the region the user is in, blank if not found
protected static Dictionary IMUsersCache
return string>.Dictionary

m_addedHttpHandler protected_oe property

protected bool m_addedHttpHandler
return bool

m_agentInfoService protected_oe property

protected IAgentInfoService m_agentInfoService
return IAgentInfoService

m_scenes protected_oe static_oe property

protected static List m_scenes
return List