StdioClientTransport

A transport implementation for JSON-RPC communication that leverages standard input and output streams.

This class reads from an input stream to process incoming JSON-RPC messages and writes JSON-RPC messages to an output stream.

Parameters

input

The input stream where messages are received.

output

The output stream where messages are sent.

Constructors

Link copied to clipboard
constructor(input: InputStream, output: OutputStream)

Properties

Link copied to clipboard
open override var onClose: () -> Unit?

Callback for when the connection is closed for any reason.

Link copied to clipboard
open override var onError: (Throwable) -> Unit?

Callback for when an error occurs.

Link copied to clipboard
open override var onMessage: suspend (JSONRPCMessage) -> Unit?

Callback for when a message (request or response) is received over the connection.

Functions

Link copied to clipboard
open suspend override fun close()

Closes the connection.

Link copied to clipboard
open suspend override fun send(message: JSONRPCMessage)

Sends a JSON-RPC message (request or response).

Link copied to clipboard
open suspend override fun start()

Starts processing messages on the transport, including any connection steps that might need to be taken.