Connectors

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Overview)
Line 1: Line 1:
 
==Overview==
 
==Overview==
  
There are up to 4 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.
 
# The simulator code itself, whether in core or in a module, that references a data service.
# 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 make a call over the network to some remote process.
+
# 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 data service handler.  These are found in OpenSim/Server/Handlers/  These only applies when the service is not hosted in the same process as the caller.  These unpack the call received from a simulator connector and pass it on to the service itself.
+
# 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.
 
# 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==
  
 +
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==
 
==Configuration==

Revision as of 09:46, 4 July 2011

Overview

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

  1. The simulator code itself, whether in core or in a module, that references a data service.
  2. 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.
  3. 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.
  4. 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.
  5. 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