before the first Start, during a reactivation gap, or after Stop. Publish never returns ErrStopped, because a publisher's response to "no live activation" is the same whichever caused it
ErrStopped
Subscribe
once shutdown has begun: accepting a subscription that will never be supervised would be worse than refusing it
ErrNoSource
PublishValue
the bus was built without Settings.Source, which CloudEvents needs as half of an event's identity
ErrNoSubscriptions
New
Settings.Subscriptions is empty
ErrQueueFull
Publish
the subscription's overflow policy is Fail
ErrNotSupported
a backend, or validateMode
asked for a capability or delivery mode it does not have
ErrContentType
Delivery.Decode
the payload's DataContentType is not the bus's codec's
ErrAlreadySettled
Delivery.Ack, Delivery.Nack
a second settlement on one delivery; the first call wins
ErrSettlementRefused
a backend, via Settle
it could not perform a settlement: the source retired, the session closed, or the broker was unreachable
New also returns a plain error, not a sentinel, when called with a nil backend: "a bus needs a
backend" is a caller mistake with nothing to match against programmatically, so it is not one of the
sentinels above.