[][src]Module rml_rtmp::sessions

This module contains implemented session abstractions.

A session is a high level abstraction that makes it simple to create custom RTMP clients and servers without having to worry about the exact flow of RTMP messages to perform specific actions. The session has it's own ChunkSerializer and ChunkDeserializer so consumers only have to worry about bytes in and bytes/events out.

A single session represents a single peer in an RTMP connection, so if multiple connections are being managed (in any direction) each connection should have its own, distinct, session instance.

It is also expected that a session has been created after handshaking has been completed.

Structs

ClientSession

A session that represents the client side of a single RTMP connection.

ClientSessionConfig

Configuration options that govern how a RTMP client session should operate

ClientSessionError

Error state when a client session encounters an error

ServerSession

A session that represents the server side of a single RTMP connection.

ServerSessionConfig

The configuration options that govern how a RTMP server session should operate

ServerSessionError

Error state when a server session encounters an error

StreamMetadata

Contains the metadata information a stream may advertise on publishing

Enums

ClientSessionErrorKind

Represents the type of error that occurred

ClientSessionEvent

Events that can be raised by the client session so that custom business logic can be written to react to it

ClientSessionResult

A single result that is returned when the client session performs an action or receives messages from the server.

ClientState
PublishRequestType

The type of publish request being made

ServerSessionErrorKind

Represents the type of error that occurred

ServerSessionEvent

An event that a server session can raise

ServerSessionResult

A single result that is returned when a server session processes some bytes