Clint Edwards


RPC::Simple::Agent - Perl extension for an agent object for RPC


  use RPC::Simple::Agent ;


This class is an agent for client class inheriting PRC::AnyLocal. This class will handle all the boring stuff to create, access store call-back when dealing with the remote object.

Casual user should not worry about this class. RPC::Simple::AnyLocal will deal with it.


new( $factory_ref, client_ref, index, remote_class, ... .)

Create the agent.

factory_ref is the SPRC::Factory object.

client_ref is the client object itself.

index is an index handled by the Factory.

remote_class if the name of the class created on the remote side. By default, it is set to the client's class name with a 'Real' prepended to the name.

I.e if the client is Foo::Bar, the remote will be Foo::RealBar.

The remaining parameters will forwarded to the constructor of the remote class.


returns the remote host name

delegate( method_name , [code_ref ], parameters ,... )

Call a method of the remote object. If code_ref is specified, the code will be executed with whatever parameters the remote functions passed in its reply.

The remaining optionnal parameters are passed as is to the remote method.

Note that ref are copied. You can't expect the remote to be able to modify a client's variable because you passed it's ref to the remote.

callMethod( method_name, argument_array_ref )

Function used to call the owner of the agent. All arguments of the function to be called back are passed in the array ref.


remoteCreated(result, string)

Called when the remote object is created. 'result' will be true or false depending on whether the remote object was created or not.

'string' contains the error message in case of a failure.

treatCallBack ( request_id, argument_array_ref)

Function used to call-back the owner of the agent. All arguments of the function to be called back are passed in the array ref.

'request_id' is used to know what object and methos are to be called back. These info were stored by the delegate function.


    Current Maintainer
    Clint Edwards <>
    Dominique Dumont, <>


perl(1), RPC::Simple::AnyLocal(3).