Skip to main content

TransactionSubscription

type TransactionSubscription

A live subscription.

Call `next` in a loop to receive updates; it only returns `None` once `cancel` has been called, since the subscription itself never ends.

type TransactionSubscription struct {
// contains filtered or unexported fields
}

func LiftFromExternalTransactionSubscription

func LiftFromExternalTransactionSubscription(handle uint64) *TransactionSubscription

func (*TransactionSubscription) Cancel

func (_self *TransactionSubscription) Cancel()

Cancel the subscription, dropping the connection and unblocking a pending `next`.

Idempotent, and safe to call while `next` is pending — the pending call drops the connection on its way out.

Named `cancel` rather than `close` because a `close` method collides with the disposal method uniffi generates for objects in some languages.

func (*TransactionSubscription) Destroy

func (object *TransactionSubscription) Destroy()

func (*TransactionSubscription) IsCanceled

func (_self *TransactionSubscription) IsCanceled() bool

Whether the subscription has been canceled.

func (*TransactionSubscription) Next

func (_self *TransactionSubscription) Next() (*TransactionUpdate, error)

Wait for the next update.

Returns `None` once the subscription has been canceled. Concurrent calls are serialized; there is no ordering guarantee between them.

Raises for errors the subscription cannot recover from by itself, such as a rejected filter. The subscription stays usable afterwards, so a caller that considers the error transient can keep calling `next`.