network.protocols - Palamecia/mint GitHub Wiki

Module network.protocols

Description

This module groups protocol-specific helpers for layers 5 to 7 of the OSI model. Each protocol package is organized inside the Network package and usually provides three kinds of classes:

  • A Message class for constructing and manipulating protocol-specific messages.
  • A Serializer class implementing the network.serializers interface to convert message objects to and from a byte stream.
  • Client and server classes that expose the transport-level API used by the higher-level channel abstractions.

The client and server wrappers are split by execution model:

  • Client and Server provide event-based implementations intended for use with Network.Poller and the event-driven channel layer.
  • AsyncClient and AsyncServer provide coroutine-friendly implementations intended for use with Runtime.Scheduler and the async channel layer.

This makes it possible to use the same protocol abstraction from either an event-driven application or a coroutine-based application.

Packages

Classes

Constants

Functions