Next: Making Your Own Wires, Previous: Untagged Data, Up: The WIRE Package [Contents][Index]
When using these routines, the system automatically transmits and interprets
the tags for you, so both ends can figure out what kind of data transfers
occur. Sending tagged data allows a greater variety of data types: integers
inclusively less than 32 bits in length, symbols, lists, and remote-objects
(see remote-objs). The system sends symbols as two strings, the
package name and the symbol name, and if the package doesn’t exist remotely,
the remote process signals an error. The system ignores other slots of
symbols. Lists may be any tree of the above valid data types. To send other
data types you must represent them in terms of these supported types. For
example, you could use prin1-to-string
locally, send the string, and use
read-from-string
remotely.
&optional
cache-it ¶The function wire-output-object
sends object over
wire preceded by a tag indicating its type.
If cache-it is non-nil
, this function only sends object
the first time it gets object. Each end of the wire
associates a token with object, similar to remote-objects,
allowing you to send the object more efficiently on successive
transmissions. cache-it defaults to t
for symbols and
nil
for other types. Since the RPC level requires function
names, a high-level protocol based on a set of function calls saves
time in sending the functions’ names repeatedly.
The function wire-get-object
reads the results of
wire-output-object
and returns that object.
Next: Making Your Own Wires, Previous: Untagged Data, Up: The WIRE Package [Contents][Index]