Versions in this module Expand all Collapse all v2 v2.6.0 Jul 29, 2022 v2.0.0 Aug 1, 2022 Changes in this version + const ExchangeLifetime + var ErrKeyAlreadyExists = errors.New("key already exists") + var ErrKeyNotExists = errors.New("key does not exist") + func NewDeleteRequest(ctx context.Context, messagePool *pool.Pool, path string, ...) (*pool.Message, error) + func NewGetRequest(ctx context.Context, messagePool *pool.Pool, path string, ...) (*pool.Message, error) + func NewObserveRequest(ctx context.Context, messagePool *pool.Pool, path string, ...) (*pool.Message, error) + func NewPostRequest(ctx context.Context, messagePool *pool.Pool, path string, ...) (*pool.Message, error) + func NewPutRequest(ctx context.Context, messagePool *pool.Pool, path string, ...) (*pool.Message, error) + type Client struct + func NewClient(cc *ClientConn) *Client + func (c *Client) ClientConn() interface{} + func (c *Client) Close() error + func (c *Client) Context() context.Context + func (c *Client) Delete(ctx context.Context, path string, opts ...message.Option) (*message.Message, error) + func (c *Client) Do(req *message.Message) (*message.Message, error) + func (c *Client) Done() <-chan struct{} + func (c *Client) Get(ctx context.Context, path string, opts ...message.Option) (*message.Message, error) + func (c *Client) Observe(ctx context.Context, path string, ...) (mux.Observation, error) + func (c *Client) Ping(ctx context.Context) error + func (c *Client) Post(ctx context.Context, path string, contentFormat message.MediaType, ...) (*message.Message, error) + func (c *Client) Put(ctx context.Context, path string, contentFormat message.MediaType, ...) (*message.Message, error) + func (c *Client) RemoteAddr() net.Addr + func (c *Client) Sequence() uint64 + func (c *Client) SetContextValue(key interface{}, val interface{}) + func (c *Client) WriteMessage(req *message.Message) error + type ClientConn struct + func NewClientConn(session Session, observationTokenHandler *HandlerContainer, ...) *ClientConn + func (cc *ClientConn) AcquireMessage(ctx context.Context) *pool.Message + func (cc *ClientConn) AddOnClose(f EventFunc) + func (cc *ClientConn) AsyncPing(receivedPong func()) (func(), error) + func (cc *ClientConn) CheckExpirations(now time.Time) + func (cc *ClientConn) CheckMyMessageID(req *pool.Message) + func (cc *ClientConn) Client() *Client + func (cc *ClientConn) Close() error + func (cc *ClientConn) Context() context.Context + func (cc *ClientConn) Delete(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error) + func (cc *ClientConn) Do(req *pool.Message) (*pool.Message, error) + func (cc *ClientConn) Done() <-chan struct{} + func (cc *ClientConn) Get(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error) + func (cc *ClientConn) InactivityMonitor() inactivity.Monitor + func (cc *ClientConn) LocalAddr() net.Addr + func (cc *ClientConn) Observe(ctx context.Context, path string, observeFunc func(msg *pool.Message), ...) (*Observation, error) + func (cc *ClientConn) ObserveRequest(req *pool.Message, observeFunc func(req *pool.Message)) (*Observation, error) + func (cc *ClientConn) Ping(ctx context.Context) error + func (cc *ClientConn) Post(ctx context.Context, path string, contentFormat message.MediaType, ...) (*pool.Message, error) + func (cc *ClientConn) Process(datagram []byte) error + func (cc *ClientConn) Put(ctx context.Context, path string, contentFormat message.MediaType, ...) (*pool.Message, error) + func (cc *ClientConn) ReleaseMessage(m *pool.Message) + func (cc *ClientConn) RemoteAddr() net.Addr + func (cc *ClientConn) Run() error + func (cc *ClientConn) Sequence() uint64 + func (cc *ClientConn) Session() Session + func (cc *ClientConn) SetContextValue(key interface{}, val interface{}) + func (cc *ClientConn) Transmission() *Transmission + func (cc *ClientConn) WriteMessage(req *pool.Message) error + func (cc *ClientConn) WriteMulticastMessage(req *pool.Message, address *net.UDPAddr, options ...coapNet.MulticastOption) error + type ErrorFunc = func(error) + type EventFunc = func() + type GetMIDFunc = func() uint16 + type GoPoolFunc = func(func()) error + type HandlerContainer struct + func NewHandlerContainer() *HandlerContainer + func (s *HandlerContainer) Get(key interface{}) (HandlerFunc, error) + func (s *HandlerContainer) Insert(key interface{}, handler HandlerFunc) error + func (s *HandlerContainer) Pop(key interface{}) (HandlerFunc, error) + type HandlerFunc = func(*ResponseWriter, *pool.Message) + func HandlerFuncToMux(m mux.Handler) HandlerFunc + func NewObservationHandler(obsertionTokenHandler *HandlerContainer, next HandlerFunc) HandlerFunc + type MutexMap struct + func NewMutexMap() *MutexMap + func (m *MutexMap) Lock(key interface{}) Unlocker + type Observation struct + func (o *Observation) Cancel(ctx context.Context) error + func (o *Observation) Canceled() bool + type RequestsMap = sync.Map[uint64, *pool.Message] + type ResponseWriter struct + func NewResponseWriter(response *pool.Message, cc *ClientConn, requestOptions message.Options) *ResponseWriter + func (r *ResponseWriter) ClientConn() *ClientConn + func (r *ResponseWriter) SendReset() + func (r *ResponseWriter) SetResponse(code codes.Code, contentFormat message.MediaType, d io.ReadSeeker, ...) error + type Session interface + AddOnClose func(f EventFunc) + Close func() error + Context func() context.Context + Done func() <-chan struct{} + LocalAddr func() net.Addr + MaxMessageSize func() uint32 + RemoteAddr func() net.Addr + Run func(cc *ClientConn) error + SetContextValue func(key interface{}, val interface{}) + WriteMessage func(req *pool.Message) error + WriteMulticastMessage func(req *pool.Message, address *net.UDPAddr, opts ...coapNet.MulticastOption) error + type Transmission struct + func (t *Transmission) SetTransmissionAcknowledgeTimeout(d time.Duration) + func (t *Transmission) SetTransmissionMaxRetransmit(d int32) + func (t *Transmission) SetTransmissionNStart(d time.Duration) + type Unlocker interface + Unlock func()