gk::to

Multicast remote procedure calls

Synopsis

gk::to ?-serialize? all cmd args...
gk::to others cmd ?arg...?
gk::to userlist cmd ?arg...?
gk::to configure option value

Description

The gk::to command is used to send multicast remote procedure calls (RPCs) between GroupKit processes. The options on this command determine who the RPCs are sent to. You can specify a list of one or more GroupKit user numbers to refer to the processes, use the keyword "all" to refer to all processes in the current conference including the local process, or the keyword "others" to refer to all processes in the current conference except the local user.

The flag "-serialize" may optionally be added to the "all" form of this command, to guarantee that messages arrive at all processes in the same order, even if they were sent from different processes in the conference. This is accomplished by serializing the messages through a single conference process, which can add some delays. Without this flag, there is no guarantee of message ordering across processes, except that messages sent from a single site will always arrive at their destination in the same order they are sent.

The body of an RPC is an arbitrary Tcl command. The execution environment for this command is completely unrestricted; there are obvious security implications of this!

The "configure" option allows you to configure how the gk::to command behaves. Currently, two options are available: "environment" and "method". The former is used to specify the environment which is used to send RPCs. In GroupKit, all RPCs are routed through environments; this option is set by the run-time environment, so you should normally not need to change it.

The second option, "method" allows you to override how GroupKit actually sends the RPC messages. The default method (general) sends them through the environment's router. The other alternative, "direct" can only be used with peer environments, and by-passes the environment's general routing mechanism and sends directly to the other peer processes, which results in a substantial speed-up.


GroupKit Reference Manual. Last updated June 14, 1998 by Mark Roseman.