Versions in this module Expand all Collapse all v0 v0.1.0 Aug 20, 2021 Changes in this version + const TopicInvalid + const TopicKeySeparator + const TopicMaxDepth + const TopicMaxLength + const TopicMultiWildcardSymbol + const TopicSeparator + const TopicStatic + const TopicWildcard + const TopicWildcardSymbol + func Connect(conn net.Conn, cm *utp.Connect) (rc uint8, epoch int32, cid int32, err error) + func StreamConn(stream grpc.Stream) *common.Conn + func TimeNow() time.Time + type Client interface + Connect func() error + ConnectContext func(ctx context.Context) error + Disconnect func() error + DisconnectContext func(ctx context.Context) error + Publish func(topic string, payload []byte, pubOpts ...PubOptions) Result + Relay func(topics []string, relOpts ...RelOptions) Result + Subscribe func(topic string, subOpts ...SubOptions) Result + SubscribeMultiple func(subs []string, subOpts ...SubOptions) Result + TopicFilter func(subTopic string) (*TopicFilter, error) + Unsubscribe func(topics ...string) Result + func NewClient(target, clientID string, opts ...Options) (Client, error) + type ConnectResult struct + func (r *ConnectResult) Get(ctx context.Context, d time.Duration) (bool, error) + func (r *ConnectResult) ReturnCode() int32 + func (r *ConnectResult) SessionPresent() bool + type ConnectionHandler func(Client) + type ConnectionLostHandler func(Client, error) + type DisconnectResult struct + func (r *DisconnectResult) Get(ctx context.Context, d time.Duration) (bool, error) + type MID int32 + type Message interface + Ack func() + DeliveryMode func() uint8 + MessageID func() uint16 + Messages func() []*PubMessage + type MessageAndResult struct + type Notice struct + type Options interface + func AddServer(target string) Options + func WithBatchByteThreshold(size int) Options + func WithBatchCountThreshold(count int) Options + func WithBatchDuration(dur time.Duration) Options + func WithCleanSession() Options + func WithClientID(clientID string) Options + func WithConnectTimeout(t time.Duration) Options + func WithConnectionHandler(handler ConnectionHandler) Options + func WithConnectionLostHandler(handler ConnectionLostHandler) Options + func WithDefaultOptions() Options + func WithInsecure() Options + func WithKeepAlive(k time.Duration) Options + func WithPingTimeout(k time.Duration) Options + func WithResumeSubs() Options + func WithSessionKey(sessKey uint32) Options + func WithStoreLogReleaseDuration(dur time.Duration) Options + func WithStorePath(path string) Options + func WithStoreSize(size int) Options + func WithTLSConfig(t *tls.Config) Options + func WithUserNamePassword(userName string, password []byte) Options + func WithWriteTimeout(t time.Duration) Options + type PubMessage struct + Payload []byte + Topic string + type PubOptions interface + func WithPubDelay(delay time.Duration) PubOptions + func WithPubDeliveryMode(deliveryMode uint8) PubOptions + func WithTTL(ttl string) PubOptions + type PublishResult struct + func (r *PublishResult) Get(ctx context.Context, d time.Duration) (bool, error) + func (r *PublishResult) MessageID() uint16 + type PutResult struct + func (r *PutResult) Get(ctx context.Context, d time.Duration) (bool, error) + func (r *PutResult) MessageID() uint16 + type RelOptions interface + func WithLast(last string) RelOptions + type RelayResult struct + func (r *RelayResult) Get(ctx context.Context, d time.Duration) (bool, error) + func (r *RelayResult) Result() map[string]byte + type Result interface + Get func(ctx context.Context, d time.Duration) (bool, error) + type SubOptions interface + func WithSubDelay(delay time.Duration) SubOptions + func WithSubDeliveryMode(deliveryMode uint8) SubOptions + type SubscribeResult struct + func (r *SubscribeResult) Get(ctx context.Context, d time.Duration) (bool, error) + func (r *SubscribeResult) Result() map[string]byte + type TopicFilter struct + func (t *TopicFilter) Updates() <-chan []*PubMessage + type UnsubscribeResult struct + func (r *UnsubscribeResult) Get(ctx context.Context, d time.Duration) (bool, error)