coap

package
v1.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2022 License: Apache-2.0 Imports: 24 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ExtendedKeyUsage_IDENTITY_CERTIFICATE = asn1.ObjectIdentifier{1, 3, 6, 1, 4, 1, 44924, 1, 6}

Functions

func GetDeviceIDFromIdentityCertificate added in v1.2.0

func GetDeviceIDFromIdentityCertificate(cert *x509.Certificate) (string, error)

func NewVerifyPeerCertificate

func NewVerifyPeerCertificate(rootCAs *x509.CertPool, verifyPeerCertificate func(verifyPeerCertificate *x509.Certificate) error) func(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error

func VerifyIdentityCertificate added in v1.2.0

func VerifyIdentityCertificate(cert *x509.Certificate) error

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(conn ClientConn) *Client

func (*Client) Close

func (c *Client) Close() error

func (*Client) Context

func (c *Client) Context() context.Context

func (*Client) DeleteResource

func (c *Client) DeleteResource(
	ctx context.Context,
	href string,
	response interface{},
	options ...OptionFunc,
) error

func (*Client) DeleteResourceWithCodec

func (c *Client) DeleteResourceWithCodec(
	ctx context.Context,
	href string,
	codec Codec,
	response interface{},
	options ...OptionFunc,
) error

func (*Client) Done

func (c *Client) Done() <-chan struct{}

func (*Client) GetResource

func (c *Client) GetResource(
	ctx context.Context,
	href string,
	response interface{},
	options ...OptionFunc,
) error

func (*Client) GetResourceWithCodec

func (c *Client) GetResourceWithCodec(
	ctx context.Context,
	href string,
	codec Codec,
	response interface{},
	options ...OptionFunc,
) error

func (*Client) Observe

func (c *Client) Observe(
	ctx context.Context,
	href string,
	codec Codec,
	handler ObservationHandler,
	options ...OptionFunc,
) (Observation, error)

Observe makes a CoAP observation request over a connection.

func (*Client) RemoteAddr

func (c *Client) RemoteAddr() net.Addr

func (*Client) UpdateResource

func (c *Client) UpdateResource(
	ctx context.Context,
	href string,
	request interface{},
	response interface{},
	options ...OptionFunc,
) error

func (*Client) UpdateResourceWithCodec

func (c *Client) UpdateResourceWithCodec(
	ctx context.Context,
	href string,
	codec Codec,
	request interface{},
	response interface{},
	options ...OptionFunc,
) error

type ClientCloseHandler

type ClientCloseHandler struct {
	*Client
	// contains filtered or unexported fields
}

func DialTCP

func DialTCP(ctx context.Context, addr string, opts ...DialOptionFunc) (*ClientCloseHandler, error)

func DialTCPSecure

func DialTCPSecure(ctx context.Context, addr string, tlsCfg *tls.Config, opts ...DialOptionFunc) (*ClientCloseHandler, error)

func DialUDP

func DialUDP(ctx context.Context, addr string, opts ...DialOptionFunc) (*ClientCloseHandler, error)

func DialUDPSecure

func DialUDPSecure(ctx context.Context, addr string, dtlsCfg *piondtls.Config, opts ...DialOptionFunc) (*ClientCloseHandler, error)

func NewClientCloseHandler added in v1.3.0

func NewClientCloseHandler(conn ClientConn, onClose *OnCloseHandler) *ClientCloseHandler

func (*ClientCloseHandler) RegisterCloseHandler

func (c *ClientCloseHandler) RegisterCloseHandler(f CloseHandlerFunc) (closeHandlerID int)

func (*ClientCloseHandler) UnregisterCloseHandler

func (c *ClientCloseHandler) UnregisterCloseHandler(closeHandlerID int)

type ClientConn

type ClientConn = interface {
	Post(ctx context.Context, path string, contentFormat message.MediaType, payload io.ReadSeeker, opts ...message.Option) (*message.Message, error)
	Get(ctx context.Context, path string, opts ...message.Option) (*message.Message, error)
	Delete(ctx context.Context, path string, opts ...message.Option) (*message.Message, error)
	Observe(ctx context.Context, path string, observeFunc func(notification *message.Message), opts ...message.Option) (Observation, error)
	RemoteAddr() net.Addr
	Close() error
	Context() context.Context
	Done() <-chan struct{}
}

type CloseHandlerFunc

type CloseHandlerFunc = func(err error)

type Codec

type Codec interface {
	ContentFormat() message.MediaType
	Encode(v interface{}) ([]byte, error)
	Decode(m *message.Message, v interface{}) error
}

Codec encodes/decodes according to the CoAP content format/media type.

type DecodeFunc

type DecodeFunc = func(interface{}) error

DecodeFunc can be used to pass in the data type that should be decoded.

type DialOptionFunc

type DialOptionFunc func(dialOptions) dialOptions

func WithBlockwise

func WithBlockwise(enable bool, szx blockwise.SZX, transferTimeout time.Duration) DialOptionFunc

func WithDialDisablePeerTCPSignalMessageCSMs

func WithDialDisablePeerTCPSignalMessageCSMs() DialOptionFunc

func WithDialDisableTCPSignalMessageCSM

func WithDialDisableTCPSignalMessageCSM() DialOptionFunc

func WithDialer

func WithDialer(dialer *net.Dialer) DialOptionFunc

func WithErrors

func WithErrors(errors func(err error)) DialOptionFunc

func WithInactivityMonitor added in v1.3.0

func WithInactivityMonitor(inactivityTimeout time.Duration) DialOptionFunc

InactiveMonitor if connection is inactive for the given duration, it will be closed.

func WithKeepAlive

func WithKeepAlive(connectionTimeout time.Duration) DialOptionFunc

WithKeepAlive sets a policy that detects dropped connections within the connTimeout limit while attempting to make 3 pings during that period.

func WithMaxMessageSize

func WithMaxMessageSize(maxMessageSize uint32) DialOptionFunc

type Observation

type Observation = interface {
	Cancel(context.Context) error
	Canceled() bool
}

type ObservationHandler

type ObservationHandler interface {
	Handle(client *Client, body DecodeFunc)
	Error(err error)
	Close()
}

ObservationHandler receives notifications from the observation request.

type OnCloseHandler

type OnCloseHandler struct {
	// contains filtered or unexported fields
}

func NewOnCloseHandler

func NewOnCloseHandler() *OnCloseHandler

func (*OnCloseHandler) Add

func (h *OnCloseHandler) Add(onClose func(err error)) int

func (*OnCloseHandler) OnClose

func (h *OnCloseHandler) OnClose(err error)

func (*OnCloseHandler) Remove

func (h *OnCloseHandler) Remove(onCloseID int)

type OptionFunc

type OptionFunc = func(message.Options) message.Options

func WithAccept

func WithAccept(contentFormat message.MediaType) OptionFunc

func WithInterface

func WithInterface(in string) OptionFunc

func WithResourceType

func WithResourceType(in string) OptionFunc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL