[−][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 |