diff options
Diffstat (limited to 'internal/pipewire/pipewire.go')
| -rw-r--r-- | internal/pipewire/pipewire.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go index d17edf90..59ce7c5e 100644 --- a/internal/pipewire/pipewire.go +++ b/internal/pipewire/pipewire.go @@ -218,6 +218,14 @@ func (ctx *Context) writeMessage(Id Int, v Message) (err error) { return } +// mustWriteMessage calls writeMessage and panics if a non-nil error is returned. +// This must only be called from eventProxy.consume. +func (ctx *Context) mustWriteMessage(Id Int, v Message) { + if err := ctx.writeMessage(Id, v); err != nil { + panic(err) + } +} + // newProxyId returns a newly allocated proxy Id for the specified type. func (ctx *Context) newProxyId(proxy eventProxy, ack bool) Int { newId := ctx.nextId @@ -620,6 +628,10 @@ func (ctx *Context) roundtrip() (err error) { } } +// currentRemoteSeq returns the current remote sequence number. +// This must only be called from eventProxy.consume. +func (ctx *Context) currentRemoteSeq() Int { return ctx.remoteSequence - 1 } + // consume receives messages from the server and processes events. func (ctx *Context) consume(receiveRemaining []byte) (remaining []byte, err error) { defer func() { |
