Extending LotusRPC
Extending LRPCC
lrpcc is the client CLI app for LotusRPC and can work with different transport layers. A serial port transport layer is included with LotusRPC, but it’s easy to make lrpcc work with your own transport layer by following these steps:
- Create a Python file called lrpcc_my_transport.py in the working directory of lrpcc
- This file should contain at least a class called
Transport - The
Transportclass should adhere to thelrpc.client.LrpcTransportprotocol. I.e. it should have these methodsread(count:int = 1) -> bytes. In case of timeout, read should return an emptybytesobjectwrite(data: bytes) -> None
- Use your transport layer by updating the lrpcc.config.yaml file with
transport_type: my_transporttransport_paramsis a list of parameters that is passed to yourTransportclass constructor
lrpcc will first try to load a user supplied transport layer as specified in lrpcc.config.yaml. If no transport layer is found it will try to load a built-in transport layer with the same name.
Extending LRPCG
It is not currently possible to add custom code generation to lrpcg, the LotusRPC generator tool.