receiver/session

module receiver.session

Session message receiver.

Receives messages during a session. Contains a phase receiver for each phase. Routes received message to receiver of its phase. Discards messages with unrecognized phases.

Provide:

  • Iterable of all participant public keys as hex strings.
  • Iterable of protocol message phase identifiers.
  • Optionally Receiver instance to receive discarded messages.
  • Optionally factory function returning phase receiver instances.

Default phase receiver uses provided participants and discarder.

class receiver.session.SessionReceiver(participants, phaseIdentifiers, discarder=null, phaseReceiverFactory=null)
Arguments:
  • participants (Iterable.<HexString>) – Participant public keys.
  • phaseIdentifiers (Iterable.<number>) – Protocol message phase identifiers.
  • discarder (Receiver) – Message receiver that handles discarded messages.
  • phaseReceiverFactory (function) – Factory function providing phase receiver instances.
receiver.session.SessionReceiver.phaseReceivers

type: Map.<number, Receiver>

Phase receivers.

Index phase identifier. Value phase receiver.

receiver.session.SessionReceiver.submit(message)
Arguments:
  • message (object) –