Connectors
From OpenSimulator
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.