Expand description
Functionality and types shared between the plugin and the engine, other than protocol types.
If you are writing a plugin, you probably don’t need this crate. We will make fewer guarantees
for the stability of the interface of this crate than for nu_plugin
.
Modules§
Structs§
- A
PluginEncoder
that enables the plugin to communicate with Nushell with JSON serialized data. - A
PluginEncoder
that enables the plugin to communicate with Nushell with MsgPack serialized data. - A
StreamManagerHandle
supports operations for interacting with theStreamManager
. - Receives messages from a stream read from input by a
StreamManager
. - Writes messages to a stream, with flow control.
Enums§
- The required streams for communication from the plugin side, i.e. the client in socket terms.
- The type of communication used between the plugin and the engine.
- Enum that supports all of the plugin serialization formats.
- Completes the write operation for a
PipelineData
. You must callPipelineDataWriter::write()
to write all of the data contained within the streams. - The result of
CommunicationMode::serve()
, which acts as an intermediate stage for communication modes that require some kind of socket binding to occur before the client process can be started. Call.connect()
once the client process has been started. - The required streams for communication from the engine side, i.e. the server in socket terms.
Traits§
- Encoder for a specific message type. Usually implemented on
PluginInput
andPluginOutput
. - Values that can contain a
ShellError
to signal an error has occurred. - An interface provides an API for communicating with a plugin or the engine and facilitates stream I/O. See
PluginInterface
innu-plugin-engine
for the API from the engine side to a plugin, orEngineInterface
innu-plugin
for the API from the plugin side to the engine. - An interface manager handles I/O and state management for communication between a plugin and the engine. See
PluginInterfaceManager
innu-plugin-engine
for communication from the engine side to a plugin, orEngineInterfaceManager
innu-plugin
for communication from the plugin side to the engine. - Encoding scheme that defines a plugin’s communication protocol with Nu
- Read input/output from the stream.
- Write input/output to the stream.