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.