Net::IMP::Remote::Protocol - protocol description for IMP RPC
This exchanges the version of the protocol spoken. It is the first operation of IMP RPC server after a new client connected. The client will verify the version and close if it cannot speak it.
This sends the interface supported by the data provider and returns the matching interfaces from the IMP plugins inside the IMP RPC server.
It's the only synchronous operation,
interface message back.
It will be called after establishing the connection,
before any analyzers are created.
This will be called by the data provider to fix the interface to the given one.
If this given interface is not supported an exception will be generated asynchronously.
But this should usually not happen,
because the supported interfaces were queried before with
This function should be called after
get_interface and before creating analyzers.
This will create a new analyzer.
The uniq integer
analyzer_id will be created by the data provider,
so that the operation can be done asynchronously.
analyzer_Id will be used in subsequent
exception calls in the context of the new analyzer.
analyzer_id should not be 0.
The context is expected as a hash with string keys and string values.
If the IMP plugin is not interested in analyzing data inside the given
context it can simply send IMP_PASS for both directions with offset set to IMP_MAX_OFFSET.
This will cause the deletion of the analyzer with the given
This will send data from the data provider into the IMP plugin. For the meaning of the parameters see Net::IMP interface.
This notifies the data provider about problems with the given analyzer,
which will usually result in closing the analyzer.
analyzer_id is 0 it will be interpreted as an exception for the whole factory and the factory including all analyzers should better shut down.
This is the reply message to a
get_interface message from the data provider.
This will return the result for processing data.
The arguments following the
result_type are specific to the type,