Documentation ¶
Index ¶
- func NewDeleteRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func NewGetRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func NewPostRequest(ctx context.Context, path string, contentFormat message.MediaType, ...) (*pool.Message, error)
- func NewPutRequest(ctx context.Context, path string, contentFormat message.MediaType, ...) (*pool.Message, error)
- type 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) 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
- func (cc *ClientConn) AddOnClose(f EventFunc)
- 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) Get(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (cc *ClientConn) Observe(ctx context.Context, path string, 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) 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) WriteMessage(req *pool.Message) error
- type ErrorFunc
- type EventFunc
- type GetMIDFunc
- type GoPoolFunc
- type HandlerContainer
- type HandlerFunc
- type Observation
- type ResponseWriter
- type Session
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDeleteRequest ¶
func NewDeleteRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
NewDeleteRequest creates delete request.
Use ctx to set timeout.
func NewPostRequest ¶
func NewPostRequest(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
NewPostRequest creates post request.
Use ctx to set timeout.
An error is returned if by failure to speak COAP (such as a network connectivity problem). Any status code doesn't cause an error.
If payload is nil then content format is not used.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(cc *ClientConn) *Client
func (*Client) ClientConn ¶
func (c *Client) ClientConn() interface{}
ClientConn get's underlaying client connection.
func (*Client) RemoteAddr ¶
func (*Client) SetContextValue ¶ added in v2.1.0
func (c *Client) SetContextValue(key interface{}, val interface{})
type ClientConn ¶
type ClientConn struct {
// contains filtered or unexported fields
}
ClientConn represents a virtual connection to a conceptual endpoint, to perform COAPs commands.
func NewClientConn ¶
func NewClientConn( session Session, observationTokenHandler *HandlerContainer, observationRequests *kitSync.Map, transmissionNStart time.Duration, transmissionAcknowledgeTimeout time.Duration, transmissionMaxRetransmit int, handler HandlerFunc, blockwiseSZX blockwise.SZX, blockWise *blockwise.BlockWise, goPool GoPoolFunc, errors ErrorFunc, getMID GetMIDFunc, ) *ClientConn
NewClientConn creates connection over session and observation.
func (*ClientConn) AddOnClose ¶
func (cc *ClientConn) AddOnClose(f EventFunc)
AddOnClose calls function on close connection event.
func (*ClientConn) Client ¶
func (cc *ClientConn) Client() *Client
func (*ClientConn) Close ¶
func (cc *ClientConn) Close() error
Close closes connection without wait of ends Run function.
func (*ClientConn) Context ¶
func (cc *ClientConn) Context() context.Context
Context returns the client's context.
If connections was closed context is cancelled.
func (*ClientConn) Delete ¶
func (cc *ClientConn) Delete(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
Delete deletes the resource identified by the request path.
Use ctx to set timeout.
func (*ClientConn) Do ¶
Do sends an coap message and returns an coap response.
An error is returned if by failure to speak COAP (such as a network connectivity problem). Any status code doesn't cause an error.
Caller is responsible to release request and response.
func (*ClientConn) Get ¶
func (cc *ClientConn) Get(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
Get issues a GET to the specified path.
Use ctx to set timeout.
An error is returned if by failure to speak COAP (such as a network connectivity problem). Any status code doesn't cause an error.
func (*ClientConn) Observe ¶
func (cc *ClientConn) Observe(ctx context.Context, path string, observeFunc func(req *pool.Message), opts ...message.Option) (*Observation, error)
Observe subscribes for every change of resource on path.
func (*ClientConn) Ping ¶
func (cc *ClientConn) Ping(ctx context.Context) error
Ping issues a PING to the client and waits for PONG reponse.
Use ctx to set timeout.
func (*ClientConn) Post ¶
func (cc *ClientConn) Post(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
Post issues a POST to the specified path.
Use ctx to set timeout.
An error is returned if by failure to speak COAP (such as a network connectivity problem). Any status code doesn't cause an error.
If payload is nil then content format is not used.
func (*ClientConn) Process ¶
func (cc *ClientConn) Process(datagram []byte) error
func (*ClientConn) Put ¶
func (cc *ClientConn) Put(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
Put issues a PUT to the specified path.
Use ctx to set timeout.
An error is returned if by failure to speak COAP (such as a network connectivity problem). Any status code doesn't cause an error.
If payload is nil then content format is not used.
func (*ClientConn) RemoteAddr ¶
func (cc *ClientConn) RemoteAddr() net.Addr
func (*ClientConn) Run ¶
func (cc *ClientConn) Run() error
Run reads and process requests from a connection, until the connection is not closed.
func (*ClientConn) Sequence ¶
func (cc *ClientConn) Sequence() uint64
Sequence acquires sequence number.
func (*ClientConn) Session ¶ added in v2.1.0
func (cc *ClientConn) Session() Session
func (*ClientConn) SetContextValue ¶ added in v2.1.0
func (cc *ClientConn) SetContextValue(key interface{}, val interface{})
SetContextValue stores the value associated with key to context of connection.
func (*ClientConn) WriteMessage ¶
func (cc *ClientConn) WriteMessage(req *pool.Message) error
WriteMessage sends an coap message.
type GetMIDFunc ¶
type GetMIDFunc = func() uint16
type GoPoolFunc ¶
type GoPoolFunc = func(func()) error
type HandlerContainer ¶
type HandlerContainer struct {
// contains filtered or unexported fields
}
HandlerContainer for regirstration handlers by key
func (*HandlerContainer) Get ¶
func (s *HandlerContainer) Get(key interface{}) (HandlerFunc, error)
Get returns handler for key
func (*HandlerContainer) Insert ¶
func (s *HandlerContainer) Insert(key interface{}, handler HandlerFunc) error
Insert handler for key.
func (*HandlerContainer) Pop ¶
func (s *HandlerContainer) Pop(key interface{}) (HandlerFunc, error)
Pop pops handler for key
type HandlerFunc ¶
type HandlerFunc = func(*ResponseWriter, *pool.Message)
func HandlerFuncToMux ¶
func HandlerFuncToMux(m mux.Handler) HandlerFunc
func NewObservationHandler ¶
func NewObservationHandler(obsertionTokenHandler *HandlerContainer, next HandlerFunc) HandlerFunc
type Observation ¶
type Observation struct {
// contains filtered or unexported fields
}
Observation represents subscription to resource on the server
type ResponseWriter ¶
type ResponseWriter struct {
// contains filtered or unexported fields
}
A ResponseWriter interface is used by an COAP handler to construct an COAP response.
func NewResponseWriter ¶
func NewResponseWriter(response *pool.Message, cc *ClientConn, requestOptions message.Options) *ResponseWriter
func (*ResponseWriter) ClientConn ¶
func (r *ResponseWriter) ClientConn() *ClientConn
func (*ResponseWriter) SendReset ¶
func (r *ResponseWriter) SendReset()
func (*ResponseWriter) SetResponse ¶
func (r *ResponseWriter) SetResponse(code codes.Code, contentFormat message.MediaType, d io.ReadSeeker, opts ...message.Option) error