Provided by: libur-perl_0.470+ds-2_all 

NAME
UR::Service::RPC::Message - Serializable object appropriate for sending RPC messages
SYNOPSIS
my $msg = UR::Service::RPC::Message->create(
target_class => 'URT::RPC::Thingy',
method_name => 'join',
params => ['-', @join_args],
'wantarray' => 0,
);
$msg->send($fh);
my $resp = UR::Service::RPC::Message->recv($fh, 5);
DESCRIPTION
This class is used as a message-passing interface by the RPC service modules.
PROPERTIES
These properties should be filled in by the initiating caller
method_name => Text
The name of the subroutine the initiator whishes to call.
target_class => Text
The namespace the initiator wants the subroutine to be called in
params => ARRAY
List of parameters to pass to the subroutine
wantarray => Boolean
What wantarray() context the subroutine should be called in.
These properties are assigned after the RPC call to the subroutine
return_values => ARRAY
List of values returned by the subroutine
exception
On the receiving side, the subroutine is called within an eval. If there was an exception,
"exception" stores the value of $@, or the empty string. The receiving side should also fill-in
"exception" if there was an authentication failure.
fh "recv" fills this in with the file handle the message was read from.
METHODS
send
$bytes = $msg->send($fh);
Serializes the Message object with FreezeThaw and writes the data to the filehandle $fh. Returns the
number of bytes written. $bytes will be false if there was an error.
recv
$response = UR::Service::RPC::Message->recv($fh,$timeout);
$response = $msg->recv();
Reads a serialized Message from the filehandle and constructs a Message object that is then returned
to the caller. In the first case, it reads from the given filehandle, waiting a maximum of $timeout
seconds with select before giving up. In the second case, it reads from whatever filehandle is
stored in $msg to read data from.
SEE ALSO
UR::Service::RPC::Server, UR::Service::RPC::Executor
perl v5.32.1 2022-01-17 UR::Service::RPC::Message(3pm)