coap

package
v0.0.0-...-543d84f Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

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 CtxWithToken

func CtxWithToken(ctx context.Context, token string) context.Context

func GetAccept

func GetAccept(opts message.Options) message.MediaType

GetAccept returns expected content format by client

func GetDeviceIDFromIndetityCertificate

func GetDeviceIDFromIndetityCertificate(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 TokenFromCtx

func TokenFromCtx(ctx context.Context) (string, error)

func VerifyIndetityCertificate

func VerifyIndetityCertificate(cert *x509.Certificate) error

Types

type Claims

type Claims = interface{ Valid() error }

type ClaimsFunc

type ClaimsFunc = func(ctx context.Context, code codes.Code, path string) Claims

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) 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 (*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
}

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.

func GetRawCodec

func GetRawCodec(contentFormat message.MediaType) Codec

GetRawCodec returns raw codec depends on contentFormat.

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 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 WithHeartBeat

func WithHeartBeat(heartBeat time.Duration) DialOptionFunc

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 int) DialOptionFunc

type EncodeFunc

type EncodeFunc = func(v interface{}) ([]byte, error)

func GetEncoder

func GetEncoder(accept message.MediaType) (EncodeFunc, error)

GetEncoder returns encoder by accept

type Interceptor

type Interceptor = func(ctx context.Context, code codes.Code, path string) (context.Context, error)

func ValidateJWT

func ValidateJWT(jwksURL string, tls *tls.Config, claims ClaimsFunc) Interceptor

type Observation

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

type ObservationHandler

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

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 WithCredentialId

func WithCredentialId(in int) OptionFunc

func WithCredentialSubject

func WithCredentialSubject(in string) OptionFunc

func WithDeviceID

func WithDeviceID(in string) OptionFunc

func WithInstanceID

func WithInstanceID(in int) OptionFunc

func WithInterface

func WithInterface(in string) OptionFunc

func WithResourceType

func WithResourceType(in string) OptionFunc

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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