Skip to content
ben edited this page Jan 13, 2016 · 1 revision

Overview

To get a better idea of what's going on, here is a short description of every class in the library.

API

Plugin

The Plugin class is the most important part of the library. It implements the communication features and the splonebox-protocol. Incoming requests and responses are handled here after some prior checks by MsgpackRpc.

PluginError

Exception raised on internal failures.

RemoteError

Exception raised on remote call failures

RemoteFunction

This is supposed to be used as Annotation for remote functions. It simplifies the gathering of information about a function.

Result

This Class holds remote results and errors. It may be used to synchronize between local and remote clients.

ApiCall

Apicalls specified by the protocol are implemented here.

ApiRegister

Register call.

ApiRun

Run call.

InvalidApiCallError

Raised if an ApiCall is invalid.

RPC

Connection

The Connection class handles (who guessed it?) the Connection on the lowest level.

Message

This class implements messages as specified by msgpack-rpc.

MRequest

msgpack-rpc request message

MResponse

msgpack-rpc response message

MNotify

msgpack-rpc notify message Note: This message type is currently not used

InvalidMessageError

Raised if a Message is invalid

MsgpackRpc

An simplified implementation of msgpack-rpc. Since the clients are able to receive and send requests, client and server capabilities are merged here.