coap

package
v2.0.0 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: 22 Imported by: 7

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

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

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 ...tcp.Option) (*ClientCloseHandler, error)

func DialTCPSecure

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

func DialUDP

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

func DialUDPSecure

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

func NewClientCloseHandler

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) (*pool.Message, error)
	Get(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
	Delete(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
	Observe(ctx context.Context, path string, observeFunc func(notification *pool.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 *pool.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 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