Documentation
¶
Overview ¶
Package coordinator talks to the Stream Video coordinator: the REST call that joins a call and hands back SFU credentials, and the websocket that delivers call events.
Index ¶
- Constants
- func AwaitCallEvent[T CallEvents](client EventInterceptorProvider, cid string, match func(T) bool) *event.EventAwaiter[T, models.WebsocketEvent]
- func AwaitEvent[T Events](client EventInterceptorProvider, match func(T) bool) *event.EventAwaiter[T, models.WebsocketEvent]
- func IsRetryableError(err error) bool
- type CallEvents
- type Client
- func (c *Client) Close() error
- func (wsc Client) Connect(ctx context.Context, joinRequest *models.WSAuthMessage) (*models.ConnectedEvent, error)
- func (c *Client) GetInterceptor() *event.Store[models.WebsocketEvent]
- func (c *Client) JoinCall(ctx context.Context, _type string, id string, ...) (models.JoinCallResponse, error)
- func (c *Client) RawHandler(e models.WebsocketEvent)
- type CoordinatorClientInterface
- type Error
- type EventInterceptorProvider
- type Events
- type Handler
- type NoopHandler
- func (NoopHandler) OnAppUpdatedEvent(*models.AppUpdatedEvent)
- func (NoopHandler) OnBlockedUserEvent(*models.BlockedUserEvent)
- func (NoopHandler) OnCallAcceptedEvent(*models.CallAcceptedEvent)
- func (NoopHandler) OnCallClosedCaptionsFailedEvent(*models.CallClosedCaptionsFailedEvent)
- func (NoopHandler) OnCallClosedCaptionsStartedEvent(*models.CallClosedCaptionsStartedEvent)
- func (NoopHandler) OnCallClosedCaptionsStoppedEvent(*models.CallClosedCaptionsStoppedEvent)
- func (NoopHandler) OnCallCreatedEvent(*models.CallCreatedEvent)
- func (NoopHandler) OnCallDTMFEvent(*models.CallDTMFEvent)
- func (NoopHandler) OnCallDeletedEvent(*models.CallDeletedEvent)
- func (NoopHandler) OnCallEndedEvent(*models.CallEndedEvent)
- func (NoopHandler) OnCallFrameRecordingFailedEvent(*models.CallFrameRecordingFailedEvent)
- func (NoopHandler) OnCallFrameRecordingFrameReadyEvent(*models.CallFrameRecordingFrameReadyEvent)
- func (NoopHandler) OnCallFrameRecordingStartedEvent(*models.CallFrameRecordingStartedEvent)
- func (NoopHandler) OnCallFrameRecordingStoppedEvent(*models.CallFrameRecordingStoppedEvent)
- func (NoopHandler) OnCallHLSBroadcastingFailedEvent(*models.CallHLSBroadcastingFailedEvent)
- func (NoopHandler) OnCallHLSBroadcastingStartedEvent(*models.CallHLSBroadcastingStartedEvent)
- func (NoopHandler) OnCallHLSBroadcastingStoppedEvent(*models.CallHLSBroadcastingStoppedEvent)
- func (NoopHandler) OnCallLiveStartedEvent(*models.CallLiveStartedEvent)
- func (NoopHandler) OnCallMemberAddedEvent(*models.CallMemberAddedEvent)
- func (NoopHandler) OnCallMemberRemovedEvent(*models.CallMemberRemovedEvent)
- func (NoopHandler) OnCallMemberUpdatedEvent(*models.CallMemberUpdatedEvent)
- func (NoopHandler) OnCallMemberUpdatedPermissionEvent(*models.CallMemberUpdatedPermissionEvent)
- func (NoopHandler) OnCallMissedEvent(*models.CallMissedEvent)
- func (NoopHandler) OnCallModerationBlurEvent(*models.CallModerationBlurEvent)
- func (NoopHandler) OnCallModerationWarningEvent(*models.CallModerationWarningEvent)
- func (NoopHandler) OnCallNotificationEvent(*models.CallNotificationEvent)
- func (NoopHandler) OnCallReactionEvent(*models.CallReactionEvent)
- func (NoopHandler) OnCallRecordingFailedEvent(*models.CallRecordingFailedEvent)
- func (NoopHandler) OnCallRecordingReadyEvent(*models.CallRecordingReadyEvent)
- func (NoopHandler) OnCallRecordingStartedEvent(*models.CallRecordingStartedEvent)
- func (NoopHandler) OnCallRecordingStoppedEvent(*models.CallRecordingStoppedEvent)
- func (NoopHandler) OnCallRejectedEvent(*models.CallRejectedEvent)
- func (NoopHandler) OnCallRingEvent(*models.CallRingEvent)
- func (NoopHandler) OnCallRtmpBroadcastFailedEvent(*models.CallRtmpBroadcastFailedEvent)
- func (NoopHandler) OnCallRtmpBroadcastStartedEvent(*models.CallRtmpBroadcastStartedEvent)
- func (NoopHandler) OnCallRtmpBroadcastStoppedEvent(*models.CallRtmpBroadcastStoppedEvent)
- func (NoopHandler) OnCallSessionEndedEvent(*models.CallSessionEndedEvent)
- func (NoopHandler) OnCallSessionParticipantCountsUpdatedEvent(*models.CallSessionParticipantCountsUpdatedEvent)
- func (NoopHandler) OnCallSessionParticipantJoinedEvent(*models.CallSessionParticipantJoinedEvent)
- func (NoopHandler) OnCallSessionParticipantLeftEvent(*models.CallSessionParticipantLeftEvent)
- func (NoopHandler) OnCallSessionStartedEvent(*models.CallSessionStartedEvent)
- func (NoopHandler) OnCallStatsReportReadyEvent(*models.CallStatsReportReadyEvent)
- func (NoopHandler) OnCallTranscriptionFailedEvent(*models.CallTranscriptionFailedEvent)
- func (NoopHandler) OnCallTranscriptionReadyEvent(*models.CallTranscriptionReadyEvent)
- func (NoopHandler) OnCallTranscriptionStartedEvent(*models.CallTranscriptionStartedEvent)
- func (NoopHandler) OnCallTranscriptionStoppedEvent(*models.CallTranscriptionStoppedEvent)
- func (NoopHandler) OnCallUpdatedEvent(*models.CallUpdatedEvent)
- func (NoopHandler) OnCallUserFeedbackSubmittedEvent(*models.CallUserFeedbackSubmittedEvent)
- func (NoopHandler) OnCallUserMutedEvent(*models.CallUserMutedEvent)
- func (NoopHandler) OnClosedCaptionEvent(*models.ClosedCaptionEvent)
- func (NoopHandler) OnConnectedEvent(*models.ConnectedEvent)
- func (NoopHandler) OnConnectionErrorEvent(*models.ConnectionErrorEvent)
- func (NoopHandler) OnCustomVideoEvent(*models.CustomVideoEvent)
- func (NoopHandler) OnHealthCheckEvent(*models.HealthCheckEvent)
- func (NoopHandler) OnIngressErrorEvent(*models.IngressErrorEvent)
- func (NoopHandler) OnIngressStartedEvent(*models.IngressStartedEvent)
- func (NoopHandler) OnIngressStoppedEvent(*models.IngressStoppedEvent)
- func (NoopHandler) OnKickedUserEvent(*models.KickedUserEvent)
- func (NoopHandler) OnPermissionRequestEvent(*models.PermissionRequestEvent)
- func (NoopHandler) OnUnblockedUserEvent(*models.UnblockedUserEvent)
- func (NoopHandler) OnUpdatedCallPermissionsEvent(*models.UpdatedCallPermissionsEvent)
- func (NoopHandler) OnUserBannedEvent(*models.UserBannedEvent)
- func (NoopHandler) OnUserDeactivatedEvent(*models.UserDeactivatedEvent)
- func (NoopHandler) OnUserDeletedEvent(*models.UserDeletedEvent)
- func (NoopHandler) OnUserPresenceChangedEvent(*models.UserPresenceChangedEvent)
- func (NoopHandler) OnUserReactivatedEvent(*models.UserReactivatedEvent)
- func (NoopHandler) OnUserUnbannedEvent(*models.UserUnbannedEvent)
- func (NoopHandler) OnUserUpdatedEvent(*models.UserUpdatedEvent)
- type Option
- type ReadEvent
- type RemoveHandler
- type TokenProvider
- type WriteEvent
Constants ¶
const AnyCall = "*"
AnyCall matches events for every call.
Variables ¶
This section is empty.
Functions ¶
func AwaitCallEvent ¶
func AwaitCallEvent[T CallEvents](client EventInterceptorProvider, cid string, match func(T) bool) *event.EventAwaiter[T, models.WebsocketEvent]
AwaitCallEvent returns an awaiter for the next matching event of type T on the given call.
func AwaitEvent ¶
func AwaitEvent[T Events](client EventInterceptorProvider, match func(T) bool) *event.EventAwaiter[T, models.WebsocketEvent]
AwaitEvent returns an awaiter for the next matching event of type T.
func IsRetryableError ¶
IsRetryableError reports whether err is worth retrying. Errors the coordinator did not classify -- network failures, timeouts -- are retryable.
Types ¶
type CallEvents ¶
type CallEvents interface {
*models.BlockedUserEvent |
*models.CallAcceptedEvent |
*models.CallClosedCaptionsFailedEvent |
*models.CallClosedCaptionsStartedEvent |
*models.CallClosedCaptionsStoppedEvent |
*models.CallCreatedEvent |
*models.CallDTMFEvent |
*models.CallDeletedEvent |
*models.CallEndedEvent |
*models.CallFrameRecordingFailedEvent |
*models.CallFrameRecordingFrameReadyEvent |
*models.CallFrameRecordingStartedEvent |
*models.CallFrameRecordingStoppedEvent |
*models.CallHLSBroadcastingFailedEvent |
*models.CallHLSBroadcastingStartedEvent |
*models.CallHLSBroadcastingStoppedEvent |
*models.CallLiveStartedEvent |
*models.CallMemberAddedEvent |
*models.CallMemberRemovedEvent |
*models.CallMemberUpdatedEvent |
*models.CallMemberUpdatedPermissionEvent |
*models.CallMissedEvent |
*models.CallModerationBlurEvent |
*models.CallModerationWarningEvent |
*models.CallNotificationEvent |
*models.CallReactionEvent |
*models.CallRecordingFailedEvent |
*models.CallRecordingReadyEvent |
*models.CallRecordingStartedEvent |
*models.CallRecordingStoppedEvent |
*models.CallRejectedEvent |
*models.CallRingEvent |
*models.CallRtmpBroadcastFailedEvent |
*models.CallRtmpBroadcastStartedEvent |
*models.CallRtmpBroadcastStoppedEvent |
*models.CallSessionEndedEvent |
*models.CallSessionParticipantCountsUpdatedEvent |
*models.CallSessionParticipantJoinedEvent |
*models.CallSessionParticipantLeftEvent |
*models.CallSessionStartedEvent |
*models.CallStatsReportReadyEvent |
*models.CallTranscriptionFailedEvent |
*models.CallTranscriptionReadyEvent |
*models.CallTranscriptionStartedEvent |
*models.CallTranscriptionStoppedEvent |
*models.CallUpdatedEvent |
*models.CallUserFeedbackSubmittedEvent |
*models.CallUserMutedEvent |
*models.ClosedCaptionEvent |
*models.CustomVideoEvent |
*models.IngressErrorEvent |
*models.IngressStartedEvent |
*models.IngressStoppedEvent |
*models.KickedUserEvent |
*models.PermissionRequestEvent |
*models.UnblockedUserEvent |
*models.UpdatedCallPermissionsEvent
}
CallEvents constrains the events that belong to a specific call, i.e. those carrying a call_cid.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements CoordinatorClientInterface.
func (Client) Connect ¶
func (wsc Client) Connect(ctx context.Context, joinRequest *models.WSAuthMessage) (*models.ConnectedEvent, error)
Connect opens the coordinator websocket, authenticates with joinRequest and waits for the connection.ok event that carries the connection ID. There is no automatic reconnect: callers own that policy.
func (*Client) GetInterceptor ¶
func (c *Client) GetInterceptor() *event.Store[models.WebsocketEvent]
GetInterceptor returns the event store the Handle*/Await* helpers register on.
func (*Client) JoinCall ¶
func (c *Client) JoinCall( ctx context.Context, _type string, id string, joinCallRequest models.JoinCallRequest, connectionID *string, ) (models.JoinCallResponse, error)
JoinCall joins a call and returns the SFU credentials for it. This is the only coordinator endpoint the SDK calls.
func (*Client) RawHandler ¶
func (c *Client) RawHandler(e models.WebsocketEvent)
RawHandler forwards an event to the interceptors without going through the typed Handler callbacks.
type CoordinatorClientInterface ¶
type CoordinatorClientInterface interface {
JoinCall(
ctx context.Context,
_type string,
id string,
joinCallRequest models.JoinCallRequest,
connectionID *string,
) (models.JoinCallResponse, error)
Connect(
ctx context.Context,
joinRequest *models.WSAuthMessage,
) (*models.ConnectedEvent, error)
GetInterceptor() *event.Store[models.WebsocketEvent]
Close() error
}
CoordinatorClientInterface is the coordinator surface the SDK depends on.
type Error ¶
Error is a coordinator-reported error, carrying the SFU error code and whether the operation that produced it can be retried.
type EventInterceptorProvider ¶
type EventInterceptorProvider interface {
GetInterceptor() *event.Store[models.WebsocketEvent]
}
EventInterceptorProvider is implemented by anything that owns an event store, so the helpers below work with both the client and the SDK types embedding it.
type Events ¶
type Events interface {
*models.AppUpdatedEvent |
*models.BlockedUserEvent |
*models.CallAcceptedEvent |
*models.CallClosedCaptionsFailedEvent |
*models.CallClosedCaptionsStartedEvent |
*models.CallClosedCaptionsStoppedEvent |
*models.CallCreatedEvent |
*models.CallDTMFEvent |
*models.CallDeletedEvent |
*models.CallEndedEvent |
*models.CallFrameRecordingFailedEvent |
*models.CallFrameRecordingFrameReadyEvent |
*models.CallFrameRecordingStartedEvent |
*models.CallFrameRecordingStoppedEvent |
*models.CallHLSBroadcastingFailedEvent |
*models.CallHLSBroadcastingStartedEvent |
*models.CallHLSBroadcastingStoppedEvent |
*models.CallLiveStartedEvent |
*models.CallMemberAddedEvent |
*models.CallMemberRemovedEvent |
*models.CallMemberUpdatedEvent |
*models.CallMemberUpdatedPermissionEvent |
*models.CallMissedEvent |
*models.CallModerationBlurEvent |
*models.CallModerationWarningEvent |
*models.CallNotificationEvent |
*models.CallReactionEvent |
*models.CallRecordingFailedEvent |
*models.CallRecordingReadyEvent |
*models.CallRecordingStartedEvent |
*models.CallRecordingStoppedEvent |
*models.CallRejectedEvent |
*models.CallRingEvent |
*models.CallRtmpBroadcastFailedEvent |
*models.CallRtmpBroadcastStartedEvent |
*models.CallRtmpBroadcastStoppedEvent |
*models.CallSessionEndedEvent |
*models.CallSessionParticipantCountsUpdatedEvent |
*models.CallSessionParticipantJoinedEvent |
*models.CallSessionParticipantLeftEvent |
*models.CallSessionStartedEvent |
*models.CallStatsReportReadyEvent |
*models.CallTranscriptionFailedEvent |
*models.CallTranscriptionReadyEvent |
*models.CallTranscriptionStartedEvent |
*models.CallTranscriptionStoppedEvent |
*models.CallUpdatedEvent |
*models.CallUserFeedbackSubmittedEvent |
*models.CallUserMutedEvent |
*models.ClosedCaptionEvent |
*models.ConnectedEvent |
*models.ConnectionErrorEvent |
*models.CustomVideoEvent |
*models.HealthCheckEvent |
*models.IngressErrorEvent |
*models.IngressStartedEvent |
*models.IngressStoppedEvent |
*models.KickedUserEvent |
*models.PermissionRequestEvent |
*models.UnblockedUserEvent |
*models.UpdatedCallPermissionsEvent |
*models.UserBannedEvent |
*models.UserDeactivatedEvent |
*models.UserDeletedEvent |
*models.UserPresenceChangedEvent |
*models.UserReactivatedEvent |
*models.UserUnbannedEvent |
*models.UserUpdatedEvent
}
Events constrains the event types HandleEvent and AwaitEvent accept.
type Handler ¶
type Handler interface {
OnAppUpdatedEvent(*models.AppUpdatedEvent)
OnBlockedUserEvent(*models.BlockedUserEvent)
OnCallAcceptedEvent(*models.CallAcceptedEvent)
OnCallClosedCaptionsFailedEvent(*models.CallClosedCaptionsFailedEvent)
OnCallClosedCaptionsStartedEvent(*models.CallClosedCaptionsStartedEvent)
OnCallClosedCaptionsStoppedEvent(*models.CallClosedCaptionsStoppedEvent)
OnCallCreatedEvent(*models.CallCreatedEvent)
OnCallDTMFEvent(*models.CallDTMFEvent)
OnCallDeletedEvent(*models.CallDeletedEvent)
OnCallEndedEvent(*models.CallEndedEvent)
OnCallFrameRecordingFailedEvent(*models.CallFrameRecordingFailedEvent)
OnCallFrameRecordingFrameReadyEvent(*models.CallFrameRecordingFrameReadyEvent)
OnCallFrameRecordingStartedEvent(*models.CallFrameRecordingStartedEvent)
OnCallFrameRecordingStoppedEvent(*models.CallFrameRecordingStoppedEvent)
OnCallHLSBroadcastingFailedEvent(*models.CallHLSBroadcastingFailedEvent)
OnCallHLSBroadcastingStartedEvent(*models.CallHLSBroadcastingStartedEvent)
OnCallHLSBroadcastingStoppedEvent(*models.CallHLSBroadcastingStoppedEvent)
OnCallLiveStartedEvent(*models.CallLiveStartedEvent)
OnCallMemberAddedEvent(*models.CallMemberAddedEvent)
OnCallMemberRemovedEvent(*models.CallMemberRemovedEvent)
OnCallMemberUpdatedEvent(*models.CallMemberUpdatedEvent)
OnCallMemberUpdatedPermissionEvent(*models.CallMemberUpdatedPermissionEvent)
OnCallMissedEvent(*models.CallMissedEvent)
OnCallModerationBlurEvent(*models.CallModerationBlurEvent)
OnCallModerationWarningEvent(*models.CallModerationWarningEvent)
OnCallNotificationEvent(*models.CallNotificationEvent)
OnCallReactionEvent(*models.CallReactionEvent)
OnCallRecordingFailedEvent(*models.CallRecordingFailedEvent)
OnCallRecordingReadyEvent(*models.CallRecordingReadyEvent)
OnCallRecordingStartedEvent(*models.CallRecordingStartedEvent)
OnCallRecordingStoppedEvent(*models.CallRecordingStoppedEvent)
OnCallRejectedEvent(*models.CallRejectedEvent)
OnCallRingEvent(*models.CallRingEvent)
OnCallRtmpBroadcastFailedEvent(*models.CallRtmpBroadcastFailedEvent)
OnCallRtmpBroadcastStartedEvent(*models.CallRtmpBroadcastStartedEvent)
OnCallRtmpBroadcastStoppedEvent(*models.CallRtmpBroadcastStoppedEvent)
OnCallSessionEndedEvent(*models.CallSessionEndedEvent)
OnCallSessionParticipantCountsUpdatedEvent(*models.CallSessionParticipantCountsUpdatedEvent)
OnCallSessionParticipantJoinedEvent(*models.CallSessionParticipantJoinedEvent)
OnCallSessionParticipantLeftEvent(*models.CallSessionParticipantLeftEvent)
OnCallSessionStartedEvent(*models.CallSessionStartedEvent)
OnCallStatsReportReadyEvent(*models.CallStatsReportReadyEvent)
OnCallTranscriptionFailedEvent(*models.CallTranscriptionFailedEvent)
OnCallTranscriptionReadyEvent(*models.CallTranscriptionReadyEvent)
OnCallTranscriptionStartedEvent(*models.CallTranscriptionStartedEvent)
OnCallTranscriptionStoppedEvent(*models.CallTranscriptionStoppedEvent)
OnCallUpdatedEvent(*models.CallUpdatedEvent)
OnCallUserFeedbackSubmittedEvent(*models.CallUserFeedbackSubmittedEvent)
OnCallUserMutedEvent(*models.CallUserMutedEvent)
OnClosedCaptionEvent(*models.ClosedCaptionEvent)
OnConnectedEvent(*models.ConnectedEvent)
OnConnectionErrorEvent(*models.ConnectionErrorEvent)
OnCustomVideoEvent(*models.CustomVideoEvent)
OnHealthCheckEvent(*models.HealthCheckEvent)
OnIngressErrorEvent(*models.IngressErrorEvent)
OnIngressStartedEvent(*models.IngressStartedEvent)
OnIngressStoppedEvent(*models.IngressStoppedEvent)
OnKickedUserEvent(*models.KickedUserEvent)
OnPermissionRequestEvent(*models.PermissionRequestEvent)
OnUnblockedUserEvent(*models.UnblockedUserEvent)
OnUpdatedCallPermissionsEvent(*models.UpdatedCallPermissionsEvent)
OnUserBannedEvent(*models.UserBannedEvent)
OnUserDeactivatedEvent(*models.UserDeactivatedEvent)
OnUserDeletedEvent(*models.UserDeletedEvent)
OnUserPresenceChangedEvent(*models.UserPresenceChangedEvent)
OnUserReactivatedEvent(*models.UserReactivatedEvent)
OnUserUnbannedEvent(*models.UserUnbannedEvent)
OnUserUpdatedEvent(*models.UserUpdatedEvent)
}
Handler receives every event the coordinator websocket delivers. Embed NoopHandler to implement only the callbacks you care about.
type NoopHandler ¶
type NoopHandler struct{}
NoopHandler ignores every event.
func (NoopHandler) OnAppUpdatedEvent ¶
func (NoopHandler) OnAppUpdatedEvent(*models.AppUpdatedEvent)
func (NoopHandler) OnBlockedUserEvent ¶
func (NoopHandler) OnBlockedUserEvent(*models.BlockedUserEvent)
func (NoopHandler) OnCallAcceptedEvent ¶
func (NoopHandler) OnCallAcceptedEvent(*models.CallAcceptedEvent)
func (NoopHandler) OnCallClosedCaptionsFailedEvent ¶
func (NoopHandler) OnCallClosedCaptionsFailedEvent(*models.CallClosedCaptionsFailedEvent)
func (NoopHandler) OnCallClosedCaptionsStartedEvent ¶
func (NoopHandler) OnCallClosedCaptionsStartedEvent(*models.CallClosedCaptionsStartedEvent)
func (NoopHandler) OnCallClosedCaptionsStoppedEvent ¶
func (NoopHandler) OnCallClosedCaptionsStoppedEvent(*models.CallClosedCaptionsStoppedEvent)
func (NoopHandler) OnCallCreatedEvent ¶
func (NoopHandler) OnCallCreatedEvent(*models.CallCreatedEvent)
func (NoopHandler) OnCallDTMFEvent ¶
func (NoopHandler) OnCallDTMFEvent(*models.CallDTMFEvent)
func (NoopHandler) OnCallDeletedEvent ¶
func (NoopHandler) OnCallDeletedEvent(*models.CallDeletedEvent)
func (NoopHandler) OnCallEndedEvent ¶
func (NoopHandler) OnCallEndedEvent(*models.CallEndedEvent)
func (NoopHandler) OnCallFrameRecordingFailedEvent ¶
func (NoopHandler) OnCallFrameRecordingFailedEvent(*models.CallFrameRecordingFailedEvent)
func (NoopHandler) OnCallFrameRecordingFrameReadyEvent ¶
func (NoopHandler) OnCallFrameRecordingFrameReadyEvent(*models.CallFrameRecordingFrameReadyEvent)
func (NoopHandler) OnCallFrameRecordingStartedEvent ¶
func (NoopHandler) OnCallFrameRecordingStartedEvent(*models.CallFrameRecordingStartedEvent)
func (NoopHandler) OnCallFrameRecordingStoppedEvent ¶
func (NoopHandler) OnCallFrameRecordingStoppedEvent(*models.CallFrameRecordingStoppedEvent)
func (NoopHandler) OnCallHLSBroadcastingFailedEvent ¶
func (NoopHandler) OnCallHLSBroadcastingFailedEvent(*models.CallHLSBroadcastingFailedEvent)
func (NoopHandler) OnCallHLSBroadcastingStartedEvent ¶
func (NoopHandler) OnCallHLSBroadcastingStartedEvent(*models.CallHLSBroadcastingStartedEvent)
func (NoopHandler) OnCallHLSBroadcastingStoppedEvent ¶
func (NoopHandler) OnCallHLSBroadcastingStoppedEvent(*models.CallHLSBroadcastingStoppedEvent)
func (NoopHandler) OnCallLiveStartedEvent ¶
func (NoopHandler) OnCallLiveStartedEvent(*models.CallLiveStartedEvent)
func (NoopHandler) OnCallMemberAddedEvent ¶
func (NoopHandler) OnCallMemberAddedEvent(*models.CallMemberAddedEvent)
func (NoopHandler) OnCallMemberRemovedEvent ¶
func (NoopHandler) OnCallMemberRemovedEvent(*models.CallMemberRemovedEvent)
func (NoopHandler) OnCallMemberUpdatedEvent ¶
func (NoopHandler) OnCallMemberUpdatedEvent(*models.CallMemberUpdatedEvent)
func (NoopHandler) OnCallMemberUpdatedPermissionEvent ¶
func (NoopHandler) OnCallMemberUpdatedPermissionEvent(*models.CallMemberUpdatedPermissionEvent)
func (NoopHandler) OnCallMissedEvent ¶
func (NoopHandler) OnCallMissedEvent(*models.CallMissedEvent)
func (NoopHandler) OnCallModerationBlurEvent ¶
func (NoopHandler) OnCallModerationBlurEvent(*models.CallModerationBlurEvent)
func (NoopHandler) OnCallModerationWarningEvent ¶
func (NoopHandler) OnCallModerationWarningEvent(*models.CallModerationWarningEvent)
func (NoopHandler) OnCallNotificationEvent ¶
func (NoopHandler) OnCallNotificationEvent(*models.CallNotificationEvent)
func (NoopHandler) OnCallReactionEvent ¶
func (NoopHandler) OnCallReactionEvent(*models.CallReactionEvent)
func (NoopHandler) OnCallRecordingFailedEvent ¶
func (NoopHandler) OnCallRecordingFailedEvent(*models.CallRecordingFailedEvent)
func (NoopHandler) OnCallRecordingReadyEvent ¶
func (NoopHandler) OnCallRecordingReadyEvent(*models.CallRecordingReadyEvent)
func (NoopHandler) OnCallRecordingStartedEvent ¶
func (NoopHandler) OnCallRecordingStartedEvent(*models.CallRecordingStartedEvent)
func (NoopHandler) OnCallRecordingStoppedEvent ¶
func (NoopHandler) OnCallRecordingStoppedEvent(*models.CallRecordingStoppedEvent)
func (NoopHandler) OnCallRejectedEvent ¶
func (NoopHandler) OnCallRejectedEvent(*models.CallRejectedEvent)
func (NoopHandler) OnCallRingEvent ¶
func (NoopHandler) OnCallRingEvent(*models.CallRingEvent)
func (NoopHandler) OnCallRtmpBroadcastFailedEvent ¶
func (NoopHandler) OnCallRtmpBroadcastFailedEvent(*models.CallRtmpBroadcastFailedEvent)
func (NoopHandler) OnCallRtmpBroadcastStartedEvent ¶
func (NoopHandler) OnCallRtmpBroadcastStartedEvent(*models.CallRtmpBroadcastStartedEvent)
func (NoopHandler) OnCallRtmpBroadcastStoppedEvent ¶
func (NoopHandler) OnCallRtmpBroadcastStoppedEvent(*models.CallRtmpBroadcastStoppedEvent)
func (NoopHandler) OnCallSessionEndedEvent ¶
func (NoopHandler) OnCallSessionEndedEvent(*models.CallSessionEndedEvent)
func (NoopHandler) OnCallSessionParticipantCountsUpdatedEvent ¶
func (NoopHandler) OnCallSessionParticipantCountsUpdatedEvent(*models.CallSessionParticipantCountsUpdatedEvent)
func (NoopHandler) OnCallSessionParticipantJoinedEvent ¶
func (NoopHandler) OnCallSessionParticipantJoinedEvent(*models.CallSessionParticipantJoinedEvent)
func (NoopHandler) OnCallSessionParticipantLeftEvent ¶
func (NoopHandler) OnCallSessionParticipantLeftEvent(*models.CallSessionParticipantLeftEvent)
func (NoopHandler) OnCallSessionStartedEvent ¶
func (NoopHandler) OnCallSessionStartedEvent(*models.CallSessionStartedEvent)
func (NoopHandler) OnCallStatsReportReadyEvent ¶
func (NoopHandler) OnCallStatsReportReadyEvent(*models.CallStatsReportReadyEvent)
func (NoopHandler) OnCallTranscriptionFailedEvent ¶
func (NoopHandler) OnCallTranscriptionFailedEvent(*models.CallTranscriptionFailedEvent)
func (NoopHandler) OnCallTranscriptionReadyEvent ¶
func (NoopHandler) OnCallTranscriptionReadyEvent(*models.CallTranscriptionReadyEvent)
func (NoopHandler) OnCallTranscriptionStartedEvent ¶
func (NoopHandler) OnCallTranscriptionStartedEvent(*models.CallTranscriptionStartedEvent)
func (NoopHandler) OnCallTranscriptionStoppedEvent ¶
func (NoopHandler) OnCallTranscriptionStoppedEvent(*models.CallTranscriptionStoppedEvent)
func (NoopHandler) OnCallUpdatedEvent ¶
func (NoopHandler) OnCallUpdatedEvent(*models.CallUpdatedEvent)
func (NoopHandler) OnCallUserFeedbackSubmittedEvent ¶
func (NoopHandler) OnCallUserFeedbackSubmittedEvent(*models.CallUserFeedbackSubmittedEvent)
func (NoopHandler) OnCallUserMutedEvent ¶
func (NoopHandler) OnCallUserMutedEvent(*models.CallUserMutedEvent)
func (NoopHandler) OnClosedCaptionEvent ¶
func (NoopHandler) OnClosedCaptionEvent(*models.ClosedCaptionEvent)
func (NoopHandler) OnConnectedEvent ¶
func (NoopHandler) OnConnectedEvent(*models.ConnectedEvent)
func (NoopHandler) OnConnectionErrorEvent ¶
func (NoopHandler) OnConnectionErrorEvent(*models.ConnectionErrorEvent)
func (NoopHandler) OnCustomVideoEvent ¶
func (NoopHandler) OnCustomVideoEvent(*models.CustomVideoEvent)
func (NoopHandler) OnHealthCheckEvent ¶
func (NoopHandler) OnHealthCheckEvent(*models.HealthCheckEvent)
func (NoopHandler) OnIngressErrorEvent ¶
func (NoopHandler) OnIngressErrorEvent(*models.IngressErrorEvent)
func (NoopHandler) OnIngressStartedEvent ¶
func (NoopHandler) OnIngressStartedEvent(*models.IngressStartedEvent)
func (NoopHandler) OnIngressStoppedEvent ¶
func (NoopHandler) OnIngressStoppedEvent(*models.IngressStoppedEvent)
func (NoopHandler) OnKickedUserEvent ¶
func (NoopHandler) OnKickedUserEvent(*models.KickedUserEvent)
func (NoopHandler) OnPermissionRequestEvent ¶
func (NoopHandler) OnPermissionRequestEvent(*models.PermissionRequestEvent)
func (NoopHandler) OnUnblockedUserEvent ¶
func (NoopHandler) OnUnblockedUserEvent(*models.UnblockedUserEvent)
func (NoopHandler) OnUpdatedCallPermissionsEvent ¶
func (NoopHandler) OnUpdatedCallPermissionsEvent(*models.UpdatedCallPermissionsEvent)
func (NoopHandler) OnUserBannedEvent ¶
func (NoopHandler) OnUserBannedEvent(*models.UserBannedEvent)
func (NoopHandler) OnUserDeactivatedEvent ¶
func (NoopHandler) OnUserDeactivatedEvent(*models.UserDeactivatedEvent)
func (NoopHandler) OnUserDeletedEvent ¶
func (NoopHandler) OnUserDeletedEvent(*models.UserDeletedEvent)
func (NoopHandler) OnUserPresenceChangedEvent ¶
func (NoopHandler) OnUserPresenceChangedEvent(*models.UserPresenceChangedEvent)
func (NoopHandler) OnUserReactivatedEvent ¶
func (NoopHandler) OnUserReactivatedEvent(*models.UserReactivatedEvent)
func (NoopHandler) OnUserUnbannedEvent ¶
func (NoopHandler) OnUserUnbannedEvent(*models.UserUnbannedEvent)
func (NoopHandler) OnUserUpdatedEvent ¶
func (NoopHandler) OnUserUpdatedEvent(*models.UserUpdatedEvent)
type Option ¶
type Option func(*options)
func WithLogger ¶
WithLogger sets the logger. Without it the client logs nothing.
func WithVersionHeader ¶
WithVersionHeader sets the SDK version reported to the coordinator.
func WithoutWebsocket ¶
func WithoutWebsocket() Option
WithoutWebsocket disables the coordinator event websocket. The join REST call still works; the client just receives no coordinator events.
type ReadEvent ¶
type ReadEvent struct {
Event models.WebsocketEvent
}
ReadEvent is a decoded event received from the coordinator.
type RemoveHandler ¶
type RemoveHandler func()
RemoveHandler unregisters an event handler.
func HandleCallEvent ¶
func HandleCallEvent[T CallEvents](client EventInterceptorProvider, cid string, onEvent func(T)) RemoveHandler
HandleCallEvent calls onEvent for every event of type T belonging to cid, or to any call when cid is AnyCall.
func HandleEvent ¶
func HandleEvent[T Events](client EventInterceptorProvider, onEvent func(T)) RemoveHandler
HandleEvent calls onEvent for every event of type T.
type TokenProvider ¶
TokenProvider returns a Stream JWT for the given user.
func StaticTokenProvider ¶
func StaticTokenProvider(token string) TokenProvider
StaticTokenProvider returns a TokenProvider that always yields the same token.
type WriteEvent ¶
type WriteEvent struct {
Event any
}
WriteEvent is anything the client sends on the coordinator websocket.