Documentation
¶
Index ¶
- Variables
- type AnnounceConfig
- type AnnounceError
- type AnnounceErrorCode
- type Announcement
- type Client
- type Connection
- type DefaultAnnounceError
- type DefaultSubscribeDoneError
- type DefaultSubscribeDoneStatus
- type DefaultSubscribeError
- type DefaultTerminateError
- type InternalError
- type Publisher
- func (p Publisher) OpenDataStream(group moqtmessage.GroupMessage) (SendStream, error)
- func (p Publisher) SendDatagram(group moqtmessage.GroupMessage, payload []byte) error
- func (p *Publisher) SetupMORQ(qconn quic.Connection, path string) (*Session, error)
- func (p *Publisher) SetupMOWT(wtconn *webtransport.Session) (*Session, error)
- type QUICHandler
- type ReceiveAnnounceStream
- type ReceiveStream
- type ReceiveSubscribeStream
- func (stream *ReceiveSubscribeStream) AllowSubscribe(subscription Subscription, trackStatus TrackStatus) error
- func (stream ReceiveSubscribeStream) ReceiveSubscribe() (*Subscription, error)
- func (stream ReceiveSubscribeStream) ReceiveSubscribeUpdate() (*Subscription, error)
- func (stream ReceiveSubscribeStream) RejectSubscribe(err SubscribeError)
- type ReceiveTrackStatusStream
- type Relay
- type RetryTrackAliasError
- type SendAnnounceStream
- type SendStream
- type SendSubscribeStream
- func (stream SendSubscribeStream) CancelSubscribe(err SubscribeError)
- func (stream SendSubscribeStream) Subscribe(trackNamespace moqtmessage.TrackNamespace, trackName string, ...) (*Subscription, *TrackStatus, error)
- func (stream SendSubscribeStream) UpdateSubscription(subscription Subscription, config SubscribeConfig) (*TrackStatus, error)
- type SendTrackStatusStream
- type Server
- func (s *Server) CertFiles(certFile, keyFile string) error
- func (s Server) ListenAndServeQUIC(addr string, tlsConfig *tls.Config, quicConfig *quic.Config) error
- func (s Server) ListenAndServeWT(wts *webtransport.Server) error
- func (s Server) SetupMORQ(qconn quic.Connection) (*Session, string, error)
- func (s Server) SetupMOWT(wtconn *webtransport.Session) (*Session, error)
- type Session
- func (sess Session) AcceptAnnounceStream(stream Stream, ctx context.Context) (*SendAnnounceStream, error)
- func (sess Session) AcceptSubscribeStream(stream Stream, ctx context.Context) (*ReceiveSubscribeStream, error)
- func (sess Session) OpenAnnounceStream(stream Stream) (*ReceiveAnnounceStream, error)
- func (sess Session) OpenSubscribeStream(stream Stream) (*SendSubscribeStream, error)
- func (sess Session) PeekStreamType(stream Stream) (StreamType, error)
- type SessionErrorCode
- type Stream
- type StreamErrorCode
- type StreamID
- type StreamType
- type SubscribeConfig
- type SubscribeDoneError
- type SubscribeDoneStatus
- type SubscribeDoneStatusCode
- type SubscribeError
- type SubscribeErrorCode
- type Subscriber
- type Subscription
- type TerminateError
- type TerminateErrorCode
- type TrackManager
- type TrackNamespaceTree
- type TrackStatus
- type UnauthorizedError
- type Version
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDefaultInvalidRange = DefaultSubscribeError{ // contains filtered or unexported fields } ErrTrackDoesNotExist = DefaultSubscribeError{ // contains filtered or unexported fields } ErrSubscribeTimeout = DefaultSubscribeError{ // contains filtered or unexported fields } )
* Subscribe Error
View Source
var ( StatusUnsubscribed = DefaultSubscribeDoneStatus{ // contains filtered or unexported fields } StatusEndedTrack = DefaultSubscribeDoneStatus{ // contains filtered or unexported fields } StatusEndedSubscription = DefaultSubscribeDoneStatus{ // contains filtered or unexported fields } StatusGoingAway = DefaultSubscribeDoneStatus{ // contains filtered or unexported fields } )
View Source
var ( NoTerminateErr = DefaultTerminateError{ // contains filtered or unexported fields } ErrProtocolViolation = DefaultTerminateError{ // contains filtered or unexported fields } ErrDuplicatedTrackAlias = DefaultTerminateError{ // contains filtered or unexported fields } ErrParameterLengthMismatch = DefaultTerminateError{ // contains filtered or unexported fields } ErrTooManySubscribes = DefaultTerminateError{ // contains filtered or unexported fields } ErrGoAwayTimeout = DefaultTerminateError{ // contains filtered or unexported fields } )
View Source
var ( ErrDuplicatedTrackNamespace = DefaultAnnounceError{ // contains filtered or unexported fields } )
View Source
var ErrInternalError = InternalError{}
View Source
var ( ErrSubscribeExpired = DefaultSubscribeDoneError{ // contains filtered or unexported fields } )
View Source
var ErrUnexpectedMessage = errors.New("unexpected message")
View Source
var ErrUnexpectedStreamType = errors.New("unexpected stream type")
Functions ¶
This section is empty.
Types ¶
type AnnounceConfig ¶
type AnnounceError ¶
type AnnounceError interface { error AnnounceErrorCode() AnnounceErrorCode }
type Announcement ¶
type Announcement struct { AuthorizationInfo string Parameters moqtmessage.Parameters // contains filtered or unexported fields }
type Client ¶
type Client struct { SupportedVersions []moqtmessage.Version // contains filtered or unexported fields }
type Connection ¶
type Connection interface { AcceptStream(ctx context.Context) (Stream, error) AcceptUniStream(ctx context.Context) (ReceiveStream, error) CloseWithError(code SessionErrorCode, msg string) error ConnectionState() quic.ConnectionState Context() context.Context LocalAddr() net.Addr OpenStream() (Stream, error) OpenStreamSync(ctx context.Context) (Stream, error) OpenUniStream() (SendStream, error) OpenUniStreamSync(ctx context.Context) (str SendStream, err error) ReceiveDatagram(ctx context.Context) ([]byte, error) RemoteAddr() net.Addr SendDatagram(b []byte) error }
type DefaultAnnounceError ¶
type DefaultAnnounceError struct {
// contains filtered or unexported fields
}
func (DefaultAnnounceError) Code ¶
func (err DefaultAnnounceError) Code() AnnounceErrorCode
func (DefaultAnnounceError) Error ¶
func (err DefaultAnnounceError) Error() string
type DefaultSubscribeDoneError ¶
type DefaultSubscribeDoneError struct {
// contains filtered or unexported fields
}
func (DefaultSubscribeDoneError) Error ¶
func (err DefaultSubscribeDoneError) Error() string
func (DefaultSubscribeDoneError) Reason ¶
func (err DefaultSubscribeDoneError) Reason() string
func (DefaultSubscribeDoneError) SubscribeDoneErrorCode ¶
func (err DefaultSubscribeDoneError) SubscribeDoneErrorCode() SubscribeDoneStatusCode
type DefaultSubscribeDoneStatus ¶
type DefaultSubscribeDoneStatus struct {
// contains filtered or unexported fields
}
func (DefaultSubscribeDoneStatus) Code ¶
func (status DefaultSubscribeDoneStatus) Code() SubscribeDoneStatusCode
func (DefaultSubscribeDoneStatus) Reason ¶
func (status DefaultSubscribeDoneStatus) Reason() string
type DefaultSubscribeError ¶
type DefaultSubscribeError struct {
// contains filtered or unexported fields
}
func (DefaultSubscribeError) Error ¶
func (err DefaultSubscribeError) Error() string
func (DefaultSubscribeError) SubscribeErrorCode ¶
func (err DefaultSubscribeError) SubscribeErrorCode() SubscribeErrorCode
type DefaultTerminateError ¶
type DefaultTerminateError struct {
// contains filtered or unexported fields
}
func (DefaultTerminateError) Error ¶
func (err DefaultTerminateError) Error() string
func (DefaultTerminateError) TerminateErrorCode ¶
func (err DefaultTerminateError) TerminateErrorCode() TerminateErrorCode
type InternalError ¶
type InternalError struct{}
func (InternalError) AnnounceErrorCode ¶
func (InternalError) AnnounceErrorCode() AnnounceErrorCode
func (InternalError) Error ¶
func (InternalError) Error() string
func (InternalError) SubscribeDoneErrorCode ¶
func (InternalError) SubscribeDoneErrorCode() SubscribeDoneStatusCode
func (InternalError) SubscribeErrorCode ¶
func (InternalError) SubscribeErrorCode() SubscribeErrorCode
func (InternalError) TerminateErrorCode ¶
func (InternalError) TerminateErrorCode() TerminateErrorCode
type Publisher ¶
func (Publisher) OpenDataStream ¶
func (p Publisher) OpenDataStream(group moqtmessage.GroupMessage) (SendStream, error)
func (Publisher) SendDatagram ¶
func (p Publisher) SendDatagram(group moqtmessage.GroupMessage, payload []byte) error
type QUICHandler ¶
type ReceiveAnnounceStream ¶
type ReceiveAnnounceStream struct {
// contains filtered or unexported fields
}
func (ReceiveAnnounceStream) ReceiveAnnounce ¶
func (receiver ReceiveAnnounceStream) ReceiveAnnounce() (*Announcement, error)
func (ReceiveAnnounceStream) SubscribeNamespace ¶
func (receiver ReceiveAnnounceStream) SubscribeNamespace(trackNamespacePrefix moqtmessage.TrackNamespacePrefix) error
type ReceiveStream ¶
type ReceiveSubscribeStream ¶
type ReceiveSubscribeStream struct {
// contains filtered or unexported fields
}
func (*ReceiveSubscribeStream) AllowSubscribe ¶
func (stream *ReceiveSubscribeStream) AllowSubscribe(subscription Subscription, trackStatus TrackStatus) error
func (ReceiveSubscribeStream) ReceiveSubscribe ¶
func (stream ReceiveSubscribeStream) ReceiveSubscribe() (*Subscription, error)
func (ReceiveSubscribeStream) ReceiveSubscribeUpdate ¶
func (stream ReceiveSubscribeStream) ReceiveSubscribeUpdate() (*Subscription, error)
func (ReceiveSubscribeStream) RejectSubscribe ¶
func (stream ReceiveSubscribeStream) RejectSubscribe(err SubscribeError)
type ReceiveTrackStatusStream ¶
type ReceiveTrackStatusStream struct {
// contains filtered or unexported fields
}
*
func (*ReceiveTrackStatusStream) RequestTrackStatus ¶
func (stream *ReceiveTrackStatusStream) RequestTrackStatus(trackNamespace moqtmessage.TrackNamespace, trackName string) (*TrackStatus, error)
type Relay ¶
type Relay struct {
TrackManager
}
type RetryTrackAliasError ¶
type RetryTrackAliasError struct {
// contains filtered or unexported fields
}
func (RetryTrackAliasError) Error ¶
func (err RetryTrackAliasError) Error() string
func (RetryTrackAliasError) SubscribeErrorCode ¶
func (err RetryTrackAliasError) SubscribeErrorCode() SubscribeErrorCode
func (RetryTrackAliasError) TrackAlias ¶
func (err RetryTrackAliasError) TrackAlias() moqtmessage.TrackAlias
type SendAnnounceStream ¶
type SendAnnounceStream struct {
// contains filtered or unexported fields
}
func (SendAnnounceStream) Announce ¶
func (sender SendAnnounceStream) Announce(trackNamespace moqtmessage.TrackNamespace, config AnnounceConfig) error
func (SendAnnounceStream) ReceiveSubscribeNamespace ¶
func (sender SendAnnounceStream) ReceiveSubscribeNamespace() (moqtmessage.TrackNamespacePrefix, moqtmessage.Parameters, error)
type SendStream ¶
type SendSubscribeStream ¶
type SendSubscribeStream struct {
// contains filtered or unexported fields
}
func (SendSubscribeStream) CancelSubscribe ¶
func (stream SendSubscribeStream) CancelSubscribe(err SubscribeError)
TODO
- Cancel the all subscriptions on the stream.
func (SendSubscribeStream) Subscribe ¶
func (stream SendSubscribeStream) Subscribe(trackNamespace moqtmessage.TrackNamespace, trackName string, config SubscribeConfig) (*Subscription, *TrackStatus, error)
func (SendSubscribeStream) UpdateSubscription ¶
func (stream SendSubscribeStream) UpdateSubscription(subscription Subscription, config SubscribeConfig) (*TrackStatus, error)
type SendTrackStatusStream ¶
type SendTrackStatusStream struct {
// contains filtered or unexported fields
}
*
func (SendTrackStatusStream) ReceiveTrackStatusRequest ¶
func (stream SendTrackStatusStream) ReceiveTrackStatusRequest() (*moqtmessage.TrackStatusRequestMessage, error)
func (SendTrackStatusStream) SendTrackStatus ¶
func (stream SendTrackStatusStream) SendTrackStatus(request moqtmessage.TrackStatusRequestMessage, ts TrackStatus) error
type Server ¶
type Server struct { /* * TLS configuration */ TLSConfig *tls.Config /* * QUIC configuration */ QUICConfig *quic.Config // Versions supported by the moqt server SupportedVersions []moqtmessage.Version QUICHandler QUICHandler SetupHijacker func(moqtmessage.Parameters) (moqtmessage.Parameters, error) }
func (Server) ListenAndServeQUIC ¶
func (Server) ListenAndServeWT ¶
type Session ¶
type Session struct { Connection Connection // contains filtered or unexported fields }
func (Session) AcceptAnnounceStream ¶
func (Session) AcceptSubscribeStream ¶
func (Session) OpenAnnounceStream ¶
func (sess Session) OpenAnnounceStream(stream Stream) (*ReceiveAnnounceStream, error)
func (Session) OpenSubscribeStream ¶
func (sess Session) OpenSubscribeStream(stream Stream) (*SendSubscribeStream, error)
func (Session) PeekStreamType ¶
func (sess Session) PeekStreamType(stream Stream) (StreamType, error)
type SessionErrorCode ¶
type SessionErrorCode uint32 //TODO: move it to session.go
type Stream ¶
type Stream interface { SendStream ReceiveStream SetDeadLine(time.Time) error // moqt SetType(StreamType) Type() StreamType }
type StreamErrorCode ¶
type StreamErrorCode uint32
type StreamType ¶
type StreamType uint8
type SubscribeConfig ¶
type SubscribeConfig struct { // Required SubscriberPriority moqtmessage.SubscriberPriority GroupOrder moqtmessage.GroupOrder MinGroupSequence uint64 MaxGroupSequence uint64 // Optional AuthorizationInfo *string DeliveryTimeout *time.Duration Parameters moqtmessage.Parameters }
type SubscribeDoneError ¶
type SubscribeDoneError interface { error SubscribeDoneErrorCode() SubscribeDoneStatusCode }
type SubscribeDoneStatus ¶
type SubscribeDoneStatus interface { Reason() string Code() SubscribeDoneStatusCode }
*
type SubscribeError ¶
type SubscribeError interface { error SubscribeErrorCode() SubscribeErrorCode }
type Subscriber ¶
type Subscriber struct {
Client
}
func (Subscriber) AcceptDataStream ¶
func (s Subscriber) AcceptDataStream(ctx context.Context) (*moqtmessage.GroupMessage, ReceiveStream, error)
func (Subscriber) ReceiveDatagram ¶
func (s Subscriber) ReceiveDatagram(ctx context.Context) (*moqtmessage.GroupMessage, io.Reader, error)
type Subscription ¶
type Subscription struct {
// contains filtered or unexported fields
}
func (Subscription) GetConfig ¶
func (s Subscription) GetConfig() SubscribeConfig
type TerminateError ¶
type TerminateError interface { error TerminateErrorCode() TerminateErrorCode }
type TrackManager ¶
type TrackManager struct {
// contains filtered or unexported fields
}
type TrackNamespaceTree ¶
type TrackNamespaceTree struct {
// contains filtered or unexported fields
}
type TrackStatus ¶
type TrackStatus struct { Code moqtmessage.TrackStatusCode LatestGroupID moqtmessage.GroupID GroupOrder moqtmessage.GroupOrder GroupExpires time.Duration }
type UnauthorizedError ¶
type UnauthorizedError struct{}
func (UnauthorizedError) Error ¶
func (UnauthorizedError) Error() string
func (UnauthorizedError) SubscribeDoneErrorCode ¶
func (UnauthorizedError) SubscribeDoneErrorCode() SubscribeDoneStatusCode
func (UnauthorizedError) SubscribeErrorCode ¶
func (UnauthorizedError) SubscribeErrorCode() SubscribeErrorCode
func (UnauthorizedError) TerminateErrorCode ¶
func (UnauthorizedError) TerminateErrorCode() TerminateErrorCode
type Version ¶
type Version uint64
const (
FoalkDraft01 Version = Version(moqtmessage.FoalkDraft01)
)
Source Files
¶
- SubscribeStream.go
- announceStream.go
- client.go
- connection.go
- error.go
- publisher.go
- pubsub.go
- rawQuicConnection.go
- rawQuicStream.go
- relayManager.go
- server.go
- session.go
- stream.go
- subscriber.go
- terminateError.go
- trackAliasMap.go
- trackStatusStream.go
- version.go
- webtransportConnection.go
- webtransportStream.go
Click to show internal directories.
Click to hide internal directories.