Documentation
¶
Index ¶
- func CreateResourceContentToObserver(client *Client, resourceChanged *events.ResourceChanged, observe uint32, ...) (*pool.Message, error)
- func DefaultCodeToLevel(code codes.Code, logger log.Logger) func(args ...interface{})
- func MakeGetConfigForClient(tlsCfg *tls.Config) tls.Config
- func New(ctx context.Context, config Config, fileWatcher *fsnotify.Watcher, ...) (*service.Service, error)
- func NewExchangeCache() *exchangeCache
- func NewRefreshCache() *refreshCache
- func ParsePublishedResources(data io.ReadSeeker, deviceID string) (wkRd, error)
- func PublishResourceLinks(ctx context.Context, raClient raService.ResourceAggregateClient, ...) ([]*commands.Resource, error)
- func ValidUntil(expiry time.Time) (validUntil int64, ok bool)
- func WantToLog(code codes.Code, logger log.Logger) bool
- type APIsConfig
- type AuthorizationConfig
- type BlockwiseTransferConfig
- type COAPConfig
- type Client
- func (c *Client) CleanUp(resetAuthContext bool) *authorizationContext
- func (c *Client) Close()
- func (c *Client) Context() context.Context
- func (c *Client) CreateResource(ctx context.Context, event *events.ResourceCreatePending) error
- func (c *Client) Debugf(fmt string, args ...interface{})
- func (c *Client) DeleteResource(ctx context.Context, event *events.ResourceDeletePending) error
- func (c *Client) Do(req *pool.Message, correlationID string) (*pool.Message, error)
- func (c *Client) Errorf(fmt string, args ...interface{})
- func (c *Client) Get(ctx context.Context, path string, opts ...message.Option) (*pool.Message, error)
- func (c *Client) GetAuthorizationContext() (*authorizationContext, error)
- func (c *Client) GetContext() context.Context
- func (c *Client) GetDevicesMetadata(ctx context.Context, in *pb.GetDevicesMetadataRequest, opts ...grpc.CallOption) (pb.GrpcGateway_GetDevicesMetadataClient, error)
- func (c *Client) GetResourceLinks(ctx context.Context, in *pb.GetResourceLinksRequest, opts ...grpc.CallOption) (pb.GrpcGateway_GetResourceLinksClient, error)
- func (c *Client) Infof(fmt string, args ...interface{})
- func (c *Client) Observe(ctx context.Context, path string, observeFunc func(req *pool.Message), ...) (*tcp.Observation, error)
- func (c *Client) OnClose()
- func (c *Client) OnDeviceSubscriberReconnectError(err error)
- func (c *Client) ReleaseMessage(m *pool.Message)
- func (c *Client) RemoteAddr() net.Addr
- func (c *Client) ResolveDeviceID(claim pkgJwt.Claims, paramDeviceID string) string
- func (c *Client) RetrieveResource(ctx context.Context, event *events.ResourceRetrievePending) error
- func (c *Client) SetAuthorizationContext(authCtx *authorizationContext) (oldDeviceID *authorizationContext)
- func (c *Client) UnpublishResourceLinks(ctx context.Context, in *commands.UnpublishResourceLinksRequest, ...) (*commands.UnpublishResourceLinksResponse, error)
- func (c *Client) UpdateDeviceMetadata(ctx context.Context, event *events.DeviceMetadataUpdatePending) error
- func (c *Client) UpdateResource(ctx context.Context, event *events.ResourceUpdatePending) error
- func (c *Client) ValidateToken(ctx context.Context, token string) (pkgJwt.Claims, error)
- func (c *Client) WriteMessage(msg *pool.Message)
- type ClientsConfig
- type CoapRefreshTokenReq
- type CoapRefreshTokenResp
- type CoapSignInReq
- type CoapSignInResp
- type CoapSignUpRequest
- type CoapSignUpResponse
- type Config
- type DeviceStatusExpirationConfig
- type EventBusConfig
- type GrpcServerConfig
- type IdentityStoreConfig
- type Interceptor
- type KeepAlive
- type LogConfig
- type ProvidersConfig
- type ResourceAggregateConfig
- type Service
- type TLSConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateResourceContentToObserver ¶ added in v2.3.6
func CreateResourceContentToObserver(client *Client, resourceChanged *events.ResourceChanged, observe uint32, token coapMessage.Token) (*pool.Message, error)
func DefaultCodeToLevel ¶ added in v2.2.4
DefaultCodeToLevel is the default implementation of gRPC return codes and interceptor log level for server side.
func New ¶
func New(ctx context.Context, config Config, fileWatcher *fsnotify.Watcher, logger log.Logger) (*service.Service, error)
New creates server.
func NewExchangeCache ¶
func NewExchangeCache() *exchangeCache
func NewRefreshCache ¶
func NewRefreshCache() *refreshCache
func ParsePublishedResources ¶
func ParsePublishedResources(data io.ReadSeeker, deviceID string) (wkRd, error)
func PublishResourceLinks ¶
func ValidUntil ¶
ValidUntil returns time until expiration. No expiration is denoted by expiry = 0 for which 0 is returned. When expired, ok is false.
Types ¶
type APIsConfig ¶
type APIsConfig struct {
COAP COAPConfig `yaml:"coap" json:"coap"`
}
func (*APIsConfig) Validate ¶
func (c *APIsConfig) Validate() error
type AuthorizationConfig ¶
type AuthorizationConfig struct { DeviceIDClaim string `yaml:"deviceIDClaim" json:"deviceIdClaim"` OwnerClaim string `yaml:"ownerClaim" json:"ownerClaim"` Providers []ProvidersConfig `yaml:"providers" json:"providers"` }
func (*AuthorizationConfig) Validate ¶
func (c *AuthorizationConfig) Validate() error
type BlockwiseTransferConfig ¶
type BlockwiseTransferConfig struct { Enabled bool `yaml:"enabled" json:"enabled"` SZX string `yaml:"blockSize" json:"blockSize"` }
func (*BlockwiseTransferConfig) Validate ¶
func (c *BlockwiseTransferConfig) Validate() error
type COAPConfig ¶
type COAPConfig struct { Addr string `yaml:"address" json:"address"` ExternalAddress string `yaml:"externalAddress" json:"externalAddress"` MaxMessageSize uint32 `yaml:"maxMessageSize" json:"maxMessageSize"` OwnerCacheExpiration time.Duration `yaml:"ownerCacheExpiration" json:"ownerCacheExpiration"` SubscriptionBufferSize int `yaml:"subscriptionBufferSize" json:"subscriptionBufferSize"` MessagePoolSize int `yaml:"messagePoolSize" json:"messagePoolSize"` KeepAlive KeepAlive `yaml:"keepAlive" json:"keepAlive"` BlockwiseTransfer BlockwiseTransferConfig `yaml:"blockwiseTransfer" json:"blockwiseTransfer"` TLS TLSConfig `yaml:"tls" json:"tls"` Authorization AuthorizationConfig `yaml:"authorization" json:"authorization"` }
func (*COAPConfig) Validate ¶
func (c *COAPConfig) Validate() error
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client a setup of connection
func (*Client) CreateResource ¶
func (*Client) DeleteResource ¶
func (*Client) GetAuthorizationContext ¶
func (*Client) GetContext ¶
func (*Client) GetDevicesMetadata ¶ added in v2.2.4
func (c *Client) GetDevicesMetadata(ctx context.Context, in *pb.GetDevicesMetadataRequest, opts ...grpc.CallOption) (pb.GrpcGateway_GetDevicesMetadataClient, error)
func (*Client) GetResourceLinks ¶ added in v2.2.4
func (c *Client) GetResourceLinks(ctx context.Context, in *pb.GetResourceLinksRequest, opts ...grpc.CallOption) (pb.GrpcGateway_GetResourceLinksClient, error)
func (*Client) OnClose ¶
func (c *Client) OnClose()
OnClose is invoked when the coap connection was closed.
func (*Client) OnDeviceSubscriberReconnectError ¶
func (*Client) ReleaseMessage ¶ added in v2.2.4
func (*Client) RemoteAddr ¶ added in v2.4.1
func (*Client) ResolveDeviceID ¶
func (*Client) RetrieveResource ¶
func (*Client) SetAuthorizationContext ¶
func (c *Client) SetAuthorizationContext(authCtx *authorizationContext) (oldDeviceID *authorizationContext)
func (*Client) UnpublishResourceLinks ¶ added in v2.4.1
func (c *Client) UnpublishResourceLinks(ctx context.Context, in *commands.UnpublishResourceLinksRequest, opts ...grpc.CallOption) (*commands.UnpublishResourceLinksResponse, error)
func (*Client) UpdateDeviceMetadata ¶
func (*Client) UpdateResource ¶
func (*Client) ValidateToken ¶
func (*Client) WriteMessage ¶ added in v2.3.6
type ClientsConfig ¶
type ClientsConfig struct { Eventbus EventBusConfig `yaml:"eventBus" json:"eventBus"` IdentityStore IdentityStoreConfig `yaml:"identityStore" json:"identityStore"` ResourceAggregate ResourceAggregateConfig `yaml:"resourceAggregate" json:"resourceAggregate"` ResourceDirectory GrpcServerConfig `yaml:"resourceDirectory" json:"resourceDirectory"` OpenTelemetryCollector otelClient.Config `yaml:"openTelemetryCollector" json:"openTelemetryCollector"` }
func (*ClientsConfig) Validate ¶
func (c *ClientsConfig) Validate() error
type CoapRefreshTokenReq ¶
type CoapRefreshTokenResp ¶
type CoapSignInReq ¶
type CoapSignInResp ¶
type CoapSignInResp struct {
ExpiresIn int64 `json:"expiresin"`
}
type CoapSignUpRequest ¶
type CoapSignUpResponse ¶
type Config ¶
type Config struct { Log LogConfig `yaml:"log" json:"log"` APIs APIsConfig `yaml:"apis" json:"apis"` Clients ClientsConfig `yaml:"clients" json:"clients"` TaskQueue queue.Config `yaml:"taskQueue" json:"taskQueue"` }
Config represent application configuration
type DeviceStatusExpirationConfig ¶
type DeviceStatusExpirationConfig struct { Enabled bool `yaml:"enabled" json:"enabled"` ExpiresIn time.Duration `yaml:"expiresIn" json:"expiresIn"` }
func (*DeviceStatusExpirationConfig) Validate ¶
func (c *DeviceStatusExpirationConfig) Validate() error
type EventBusConfig ¶
type EventBusConfig struct {
NATS natsClient.Config `yaml:"nats" json:"nats"`
}
func (*EventBusConfig) Validate ¶
func (c *EventBusConfig) Validate() error
type GrpcServerConfig ¶
func (*GrpcServerConfig) Validate ¶
func (c *GrpcServerConfig) Validate() error
type IdentityStoreConfig ¶
func (*IdentityStoreConfig) Validate ¶
func (c *IdentityStoreConfig) Validate() error
type Interceptor ¶
type LogConfig ¶
type LogConfig struct { DumpBody bool `yaml:"dumpBody" json:"dumpBody"` log.Config `yaml:",inline"` }
Config represent application configuration
type ProvidersConfig ¶
type ResourceAggregateConfig ¶
type ResourceAggregateConfig struct { Connection client.Config `yaml:"grpc" json:"grpc"` DeviceStatusExpiration DeviceStatusExpirationConfig `yaml:"deviceStatusExpiration" json:"deviceStatusExpiration"` }
func (*ResourceAggregateConfig) Validate ¶
func (c *ResourceAggregateConfig) Validate() error
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is a configuration of coap-gateway
func (*Service) ValidateToken ¶
Source Files
¶
- auth.go
- client.go
- clientCreateHandler.go
- clientDeleteHandler.go
- clientObserveHandler.go
- clientObserver.go
- clientResetHandler.go
- clientRetrieveHandler.go
- clientSendResponse.go
- clientSubscriber.go
- clientUpdateHandler.go
- config.go
- createErrorResponse.go
- devicesStatusUpdater.go
- exchangeCache.go
- log.go
- refreshCache.go
- refreshToken.go
- resourceDirectory.go
- resourceDiscovery.go
- resourceRouteHandler.go
- service.go
- signIn.go
- signOff.go
- signUp.go
- validUntil.go
Click to show internal directories.
Click to hide internal directories.