net.rpc variables (original) (raw)
*other-client-port*
Variable, net.rpc package
This variable is bound in a client image to an RPC port connected to the control process. It can be used in a form such as
(with-remote-port (*other-client-port*) ...)
to call functions in the control process. (See with-remote-port.)
See Running several communicating Allegro CL images in <rpc.html> for information on running several Lisp images.
*rpc-port*
Variable, net.rpc package
The value of this variable identifies the default RPC port in the dynamic environment.
The variable is bound explicitly by the macro with-remote-port.
When an in-bound remote call is evaluated, the dynamic environment binds this variable to the port which received the call.
In user programs, it is unwise to bind or assign a value to this variable, whether by let-binding, lambda-binding, or using setf or setq.
An out-bound remote call is identified as a callback when the destination port is eq to the default port, and the default port has not been re-bound to some other port in the dynamic environment.
(defun remotely-called-function ()
(let ((in-port *rpc-port*))
(rcall 'foo) ;; this is a callback
(with-remote-port (in-port)
(rcall 'bar) ;; this is a callback
)
(with-remote-port (other-port)
(with-remote-port (in-port)
(rcall 'bar) ;; this is NOT a callback
)
)
(rcall 'bar) ;; this is a callback
))
See also <rpc.html> for general information on the Remote Procedure Call utility in Allegro CL.
Variable, net.rpc package
The value of this variable is a time interval used by some RPC operations when a short delay is needed. It is normally set to a value slightly larger than the shortest Lisp sleep interval. The default value is 0.08 seconds.
Copyright (c) Franz Inc. Lafayette, CA., USA. All rights reserved.