Module corerpc
Package com.ensarsarajcic.neovim.java.corerpc.client
-
Interface Summary Interface Description RpcConnection Represents a bi-directional RPC connection (it may represent any connection, due to it being very generic)RpcListener Represents a RPC communication listener It should attach to communication streams and notify when certain notifications and responses occur It should all be run on a separate thread to prevent blockingRpcListener.NotificationCallback Callback forNotificationMessage
It may be called at any time and is not usually paired with a requestRpcListener.RequestCallback Callback forRequestMessage
It may be called at any time and is not usually paired with a requestRpcListener.ResponseCallback Callback forResponseMessage
object It should usually be paired with a request and this should be used to take the responseRpcSender Represents a RPC communication sender (writer) It should provide interface for sending messages Message sending should occur on a separate threadRpcStreamer Interface defining a two way RPC communication stream Implementations of this should be used for communication since it covers both input and output -
Class Summary Class Description AsyncRpcSender Implementation ofRpcSender
utilizingExecutorService
for asynchronous workBackgroundRpcListener Implementation ofRpcListener
utilizingExecutorService
for background workPackStream Two-way msgpack stream that wraps reading/writing bytes and exposes an interface for sendingMessage
ProcessRpcConnection Implementation ofRpcConnection
providing streams of aProcess
RpcClient Wrapper aroundRpcStreamer
This class should be used for communication.RpcClient.Builder Builder forRpcClient
to simplify configuration Everything is set to default at the start and following may be changed: * UnderlyingRpcStreamer
* If defaultRpcStreamer
is used,RpcSender
andRpcListener
may be changed * If defaultRpcSender
orRpcListener
are used,ObjectMapper
andExecutorService
can be changedRpcClient.Builder.CustomRpcListenerBuilder Builder used whenRpcListener
is changedRpcClient.Builder.CustomRpcSenderBuilder Builder used whenRpcSender
is changedRpcClient.Builder.CustomRpcStreamerBuilder Builder used whenRpcStreamer
is changedRpcClient.Builder.DefaultRpcStreamerFullBuilder Builder used when bothRpcSender
andRpcListener
are changedStdIoRpcConnection Implementation ofRpcConnection
using stdio streamsTcpSocketRpcConnection Simple implementation ofRpcConnection
based on a TCPSocket