Reference

PlankyClient

Bases: Client

A default implementation of Planky client.

disconnect(description=None, code=0) async

Disconnect client.

Parameters:
  • description (str, default: None ) –

    description of disconnect

  • code

    error code of disconnect

is_connected()

Check if client is connected.

Returns:
  • True if client is connected

receive() async

Receive message from client.

Returns:
  • Message

    received message

send_data(data) async

Send Data to client

Parameters:
  • data (Data) –

    Your data to send to client

send_ping() async

Send ping to client.

PlankyData dataclass

Bases: Data

Default implementation of Data

payload: bytes instance-attribute

payload for sending

PlankyHandler

Bases: Handler

Handler for the Planky server.

add_listener(listener)

Add listener to handler.

You can use decorators from server class : on_connect, on_disconnect, on_message, on_ping

Parameters:
  • listener

    instance of listener class

generate_client_id() staticmethod

Generate client id for new client

Returns:
  • str

    Generated client id

set_protocol(protocol)

Set custom protocol for handler.

Parameters:
  • protocol (Type[Protocol]) –

    type of your own protocol

PlankyProtocol

Bases: Protocol

check_ping(data)

Check if data is ping.

Parameters:
  • data (bytes) –

    some message content

Returns:
  • True if data is ping message

generate_ping()

Generate ping message.

Returns:
  • ping message content

pack_message(message) async

Serialize Data to message content

Parameters:
  • message (PlankyData) –

    Your data to send to client

Returns:
  • bytes

    Message content to send to client

parse_message(data) async

Parse message from client

Parameters:
  • data (bytes) –

    Some message content from client

Returns:
  • Message

    Parsed message instance

receive(reader) async

Receive message from client

Parameters:
  • reader (PlankyReader) –

    Reader from handler

Returns:
  • Message from client

send(writer, message) async

Serialize and send message to client.

Used by handler.send_data

Parameters:
  • writer (Writer) –

    Writer from handler

  • message (PlankyData) –

    Your data to send to client

Returns:

send_bytes(writer, data) async

Sending message content to client

Parameters:
  • writer (PlankyWriter) –

    Writer from handler

  • data (bytes) –

    Serialized message content

Raises:
  • ConnectionError

    if client is not connected or disconnected

send_ping(writer) async

Generate and send ping to writer.

Parameters:
  • writer (Writer) –

    writer from handler

PlankyServer

Bases: Server, PlankyDecorators

A Planky server

started property

True if the server is started

add_trusted_ca(ca_path)

Load trusted CA certificate to verify client certificate.

You must load server certificate first via load_server_cert.

After loading the certificate, your client must use one of certificates from trusted CA.

Parameters:
  • ca_path (str) –

    Path to trusted CA certificate.

load_server_cert(cert_path, key_path, password=None)

Load server certificate.

After loading the certificate, your server will use TLS.

Parameters:
  • cert_path (str) –

    Path to public certificate.

  • key_path (str) –

    Path to private key.

  • password (str, default: None ) –

    Password to decrypt private key.

mainloop()

Start the server and block the current thread until the server is stopped.

on_connect(filter=None)

Decorator! Register callback on connect event

Parameters:
  • filter (Callable, default: None ) –

    function to filter events

on_disconnect(filter=None)

Decorator! Register callback on disconnect event

Parameters:
  • filter (Callable, default: None ) –

    function to filter events

on_message(msg_class, filter=None)

Decorator! Register callback on message event

Parameters:
  • msg_class (Type[Message]) –

    filter message class

  • filter (Callable, default: None ) –

    function to filter events

on_ping(filter=None)

Decorator! Register callback on ping event

Parameters:
  • filter (Callable, default: None ) –

    function to filter events

stop()

Stop the server.

Storage

Storage class for extra client data

get(key, default=NoDefault)

Parameters:
  • key (str) –

    Key of storage item

  • default (Any, default: NoDefault ) –

    Default value if set will return default value instead of raising exception

Returns:
  • Value saved in storage

Raises:
  • ItemNotFound

    If item not found

  • ItemExpired

    If item expired

set(key, value, lifetime=-1)

Parameters:
  • key (str) –

    Key for storage item

  • value (Any) –

    Value of storage item

  • lifetime (int, default: -1 ) –

    Lifetime of storage item If >0 then object will raise ItemExpired after lifetime

Returns: