Documentation
¶
Index ¶
- type CompletionHook
- type Config
- type Direction
- type DropPolicy
- type Event
- type Kind
- type Listener
- type Manager
- func (m *Manager) AddCompletionHook(id string, hook CompletionHook) bool
- func (m *Manager) Cancel(id string) bool
- func (m *Manager) Get(id string) (SessionSummary, bool)
- func (m *Manager) List() []SessionSummary
- func (m *Manager) Register(session *Session) SessionSummary
- func (m *Manager) Snapshot(id string) ([]*Event, bool)
- type SSEMetadata
- type Session
- func (s *Session) Cancel()
- func (s *Session) Close(err error)
- func (s *Session) Context() context.Context
- func (s *Session) Done() <-chan struct{}
- func (s *Session) Err() error
- func (s *Session) EventsSnapshot() []*Event
- func (s *Session) ID() string
- func (s *Session) Kind() Kind
- func (s *Session) MarkClosing()
- func (s *Session) MarkOpen()
- func (s *Session) Publish(evt *Event)
- func (s *Session) State() (State, error)
- func (s *Session) StatsSnapshot() Stats
- func (s *Session) Subscribe() Listener
- type SessionSummary
- type Snapshot
- type State
- type Stats
- type WSMetadata
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompletionHook ¶
type CompletionHook func(summary SessionSummary, events []*Event)
type Config ¶
type Config struct {
BufferSize int
ListenerBuffer int
DropPolicy DropPolicy
}
type DropPolicy ¶
type DropPolicy int
const ( DropNewest DropPolicy = iota DropOldest DropListener )
type Event ¶
type Event struct {
Kind Kind
Direction Direction
Timestamp time.Time
Sequence uint64
Metadata map[string]string
Payload []byte
SSE SSEMetadata
WS WSMetadata
}
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager() *Manager
func (*Manager) AddCompletionHook ¶
func (m *Manager) AddCompletionHook(id string, hook CompletionHook) bool
func (*Manager) List ¶
func (m *Manager) List() []SessionSummary
func (*Manager) Register ¶
func (m *Manager) Register(session *Session) SessionSummary
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
func (*Session) EventsSnapshot ¶
func (*Session) MarkClosing ¶
func (s *Session) MarkClosing()
func (*Session) StatsSnapshot ¶
type SessionSummary ¶
type WSMetadata ¶
type WSMetadata struct {
Opcode int
Code websocket.StatusCode
Reason string
}
Click to show internal directories.
Click to hide internal directories.