package client
import "github.com/plgd-dev/go-coap/v3/net/client"
Index ¶
- type Client
- func New[C Conn](cc C, observationHandler *observation.Handler[C], getToken GetTokenFunc, limitParallelRequests *limitparallelrequests.LimitParallelRequests) *Client[C]
- func (c *Client[C]) Delete(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) Get(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) GetObservationRequest(token message.Token) (*pool.Message, bool)
- func (c *Client[C]) GetToken() (message.Token, error)
- func (c *Client[C]) NewDeleteRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) NewGetRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) NewObserveRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) NewPostRequest(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) NewPutRequest(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) Observe(ctx context.Context, path string, observeFunc func(req *pool.Message), opts ...message.Option) (Observation, error)
- func (c *Client[C]) Ping(ctx context.Context) error
- func (c *Client[C]) Post(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
- func (c *Client[C]) Put(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
- type Conn
- type GetTokenFunc
- type Observation
- type ReceivedMessageReader
- func NewReceivedMessageReader[C ReceivedMessageReaderClient](cc C, queueSize int) *ReceivedMessageReader[C]
- func (r *ReceivedMessageReader[C]) C() chan<- *pool.Message
- func (r *ReceivedMessageReader[C]) TryToReplaceLoop()
- type ReceivedMessageReaderClient
Types ¶
type Client ¶
type Client[C Conn] struct { *limitparallelrequests.LimitParallelRequests // contains filtered or unexported fields }
func New ¶
func New[C Conn](cc C, observationHandler *observation.Handler[C], getToken GetTokenFunc, limitParallelRequests *limitparallelrequests.LimitParallelRequests) *Client[C]
func (*Client[C]) Delete ¶
func (c *Client[C]) 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 (*Client[C]) Get ¶
func (c *Client[C]) 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 (*Client[C]) GetObservationRequest ¶
func (*Client[C]) GetToken ¶
func (*Client[C]) NewDeleteRequest ¶
func (c *Client[C]) NewDeleteRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
NewDeleteRequest creates delete request.
Use ctx to set timeout.
func (*Client[C]) NewGetRequest ¶
func (c *Client[C]) NewGetRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
NewGetRequest creates get request.
Use ctx to set timeout.
func (*Client[C]) NewObserveRequest ¶
func (c *Client[C]) NewObserveRequest(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
NewObserveRequest creates observe request.
Use ctx to set timeout.
func (*Client[C]) NewPostRequest ¶
func (c *Client[C]) 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.
func (*Client[C]) NewPutRequest ¶
func (c *Client[C]) NewPutRequest(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*pool.Message, error)
NewPutRequest creates put request.
Use ctx to set timeout.
If payload is nil then content format is not used.
func (*Client[C]) Observe ¶
func (c *Client[C]) 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 (*Client[C]) Ping ¶
Ping issues a PING to the client and waits for PONG response.
Use ctx to set timeout.
func (*Client[C]) Post ¶
func (c *Client[C]) 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 (*Client[C]) Put ¶
func (c *Client[C]) 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.
type Conn ¶
type Conn interface { // create message from pool AcquireMessage(ctx context.Context) *pool.Message // return back the message to the pool for next use ReleaseMessage(m *pool.Message) WriteMessage(req *pool.Message) error AsyncPing(receivedPong func()) (func(), error) Context() context.Context }
type GetTokenFunc ¶
type Observation ¶
type Observation = interface { Cancel(ctx context.Context, opts ...message.Option) error Canceled() bool }
type ReceivedMessageReader ¶
type ReceivedMessageReader[C ReceivedMessageReaderClient] struct { // contains filtered or unexported fields }
func NewReceivedMessageReader ¶
func NewReceivedMessageReader[C ReceivedMessageReaderClient](cc C, queueSize int) *ReceivedMessageReader[C]
NewReceivedMessageReader creates a new ReceivedMessageReader[C] instance.
func (*ReceivedMessageReader[C]) C ¶
func (r *ReceivedMessageReader[C]) C() chan<- *pool.Message
C returns the channel to push received messages to.
func (*ReceivedMessageReader[C]) TryToReplaceLoop ¶
func (r *ReceivedMessageReader[C]) TryToReplaceLoop()
TryToReplaceLoop function attempts to replace the loop with a new one, but only if the loop is not currently reading messages. If the loop is reading messages, the function returns immediately. If the loop is not reading messages, the current loop is closed, and new loopDone and readingMessages channels and variables are created.
type ReceivedMessageReaderClient ¶
type ReceivedMessageReaderClient interface { Done() <-chan struct{} ProcessReceivedMessage(req *pool.Message) }
Source Files ¶
client.go receivedMessageReader.go
Directories ¶
Path | Synopsis |
---|---|
net/client/limitParallelRequests |
- Version
- v3.3.6 (latest)
- Published
- Sep 18, 2024
- Platform
- linux/amd64
- Imports
- 9 packages
- Last checked
- 1 week ago –
Tools for package owners.