Crate nu_plugin_core

Crate nu_plugin_core 

Source
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§

util

Structs§

JsonSerializer
A PluginEncoder that enables the plugin to communicate with Nushell with JSON serialized data.
MsgPackSerializer
A PluginEncoder that enables the plugin to communicate with Nushell with MsgPack serialized data.
StreamManager
StreamManagerHandle
A StreamManagerHandle supports operations for interacting with the StreamManager.
StreamReader
Receives messages from a stream read from input by a StreamManager.
StreamWriter
Writes messages to a stream, with flow control.

Enums§

ClientCommunicationIo
The required streams for communication from the plugin side, i.e. the client in socket terms.
CommunicationMode
The type of communication used between the plugin and the engine.
EncodingType
Enum that supports all of the plugin serialization formats.
PipelineDataWriter
Completes the write operation for a PipelineData. You must call PipelineDataWriter::write() to write all of the data contained within the streams.
PreparedServerCommunication
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.
ServerCommunicationIo
The required streams for communication from the engine side, i.e. the server in socket terms.

Traits§

Encoder
Encoder for a specific message type. Usually implemented on PluginInput and PluginOutput.
FromShellError
Values that can contain a ShellError to signal an error has occurred.
Interface
An interface provides an API for communicating with a plugin or the engine and facilitates stream I/O. See PluginInterface in nu-plugin-engine for the API from the engine side to a plugin, or EngineInterface in nu-plugin for the API from the plugin side to the engine.
InterfaceManager
An interface manager handles I/O and state management for communication between a plugin and the engine. See PluginInterfaceManager in nu-plugin-engine for communication from the engine side to a plugin, or EngineInterfaceManager in nu-plugin for communication from the plugin side to the engine.
PluginEncoder
Encoding scheme that defines a plugin’s communication protocol with Nu
PluginRead
Read input/output from the stream.
PluginWrite
Write input/output to the stream.