Connectors

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Overview)
Line 3: Line 3:
 
There are up to 5 components involved in connecting simulator code to a grid service.  These are
 
There are up to 5 components involved in connecting simulator code to a grid service.  These are
  
# The simulator code itself, whether in core or in a module, that references a data service.
+
{| border="1"
# The simulator data service connectorThese are found in OpenSim/Region/CoreModules/ServiceConnectorsOut/ (for outbound connections) and ServiceConnectorsIn/ (for inbound connections).  These connectors come in two flavours, local and remote.  The local connectors connect directly to the service and are used when caller and service are in the same process (as in the standalone configuration).  The remote connectors use the service connectors in OpenSim/Services/Connectors to make a call over the network to some remote process.
+
!Component!!Description
# The remote service connectorThese are found in OpenSim/Services/Connectors, as stated above.  They actually marshal the data and make the appropriate call to a remote data service.  These are not used for in-process connections.
+
|-
# The remote data service handlerThese are found in OpenSim/Server/Handlers/  These are not used for in-process connections.  These unpack the call received from a simulator connector and pass it on to the service itself.
+
| The simulator code itself || This references the data service.  This can be in OpenSim core or in a module.
# The serviceEach major service has its own package (e.g. OpenSim/Services/AssetService).  The service actually services the call and returns data to the caller, if applicable.
+
|-
 +
| The simulator data service connector || These are found in OpenSim/Region/CoreModules/ServiceConnectorsOut/ (for outbound connections) and ServiceConnectorsIn/ (for inbound connections).  These connectors come in two flavours, local and remote.  The local connectors connect directly to the service and are used when caller and service are in the same process (as in the standalone configuration).  The remote connectors use the service connectors in OpenSim/Services/Connectors to make a call over the network to some remote process.
 +
|-
 +
| The remote service connector || These are found in OpenSim/Services/Connectors, as stated above.  They actually marshal the data and make the appropriate call to a remote data service.  These are not used for in-process connections.
 +
|-
 +
| The remote data service handler || These are found in OpenSim/Server/Handlers/  These are not used for in-process connections.  These unpack the call received from a simulator connector and pass it on to the service itself.
 +
|-
 +
| The service || Each major service has its own package (e.g. OpenSim/Services/AssetService).  The service actually services the call and returns data to the caller, if applicable.
 +
|}
  
 
==Example==
 
==Example==

Revision as of 09:51, 4 July 2011

Overview

There are up to 5 components involved in connecting simulator code to a grid service. These are

Component Description
The simulator code itself This references the data service. This can be in OpenSim core or in a module.
The simulator data service connector These are found in OpenSim/Region/CoreModules/ServiceConnectorsOut/ (for outbound connections) and ServiceConnectorsIn/ (for inbound connections). These connectors come in two flavours, local and remote. The local connectors connect directly to the service and are used when caller and service are in the same process (as in the standalone configuration). The remote connectors use the service connectors in OpenSim/Services/Connectors to make a call over the network to some remote process.
The remote service connector These are found in OpenSim/Services/Connectors, as stated above. They actually marshal the data and make the appropriate call to a remote data service. These are not used for in-process connections.
The remote data service handler These are found in OpenSim/Server/Handlers/ These are not used for in-process connections. These unpack the call received from a simulator connector and pass it on to the service itself.
The service Each major service has its own package (e.g. OpenSim/Services/AssetService). The service actually services the call and returns data to the caller, if applicable.

Example

Let's take a look at the asset service. The asset service connector is available as the Scene.AssetService property in the Scene object (direct references aren't always available - sometimes the connector has to be requested via the Scene.RequestModuleInterface<Interface>() mechanism).

A caller executes the method Scene.AssetService.

Configuration

Personal tools
General
About This Wiki