1.3.2 Passing Server Objects

The Server Object or a Proxy can be part of a graph of nodes of a Data Value. However, unlike other Data Values, when a graph that contains a Server Object or a Proxy is passed as part of a Remote Method invocation they are transmitted as Server Object References.

When a client receives a Server Object Reference from a server, it might receive additional, application-specific data in a part of the Server Object Reference called the Envoy Sink Information. Data sent as the Envoy Sink Information is implementation specific, and the semantics of that information have to be agreed between the client and server out of band. An example of Envoy Sink Information is a set of rules to validate Remote Method Arguments. This protocol does not define any data sent in the Envoy Sink Information.<1>

The following example shows a server sending a Server Object Reference from a server to a client.

A server sending a Server Object Reference from a server to a client

Figure 2: A server sending a Server Object Reference from a server to a client

The following example shows a client sending a Server Object Reference to a server. The server uses the Server Object Reference to call back the client.

A Server Object Reference being sent by the client and then used by the server to call back the client

Figure 3: A Server Object Reference being sent by the client and then used by the server to call back the client