task

package
v0.0.0-...-dd13c3c Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func QueryParamsToString

func QueryParamsToString(queryParams []string) (str string)

func SetIsReceiveHeartBeat

func SetIsReceiveHeartBeat(ishb bool)

func SetIsReceiveResponseContent

func SetIsReceiveResponseContent(isContent bool)

Types

type Env

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

func NewEnv

func NewEnv(context *libcoap.Context, session *libcoap.Session) *Env

func (*Env) AddRequestQuery

func (env *Env) AddRequestQuery(token string, requestQuery *RequestQuery)

func (*Env) AddTokenOfDeletedResource

func (env *Env) AddTokenOfDeletedResource(token string)

func (*Env) Blocks

func (env *Env) Blocks() map[string]*libcoap.Pdu

func (*Env) CheckBlock

func (env *Env) CheckBlock(pdu *libcoap.Pdu) (bool, *string, *libcoap.Block)

* Check Block received from server * parameter: * pdu: response pdu from server * return: * isMoreBlock(bool): false is last block; true is more block * etag(*int): etag option received from server * block(Block): block option sent to server

func (*Env) CheckSessionReplacement

func (env *Env) CheckSessionReplacement() bool

* Check if there is session that need to be replaced => do replacing

func (*Env) CoapContext

func (env *Env) CoapContext() *libcoap.Context

func (*Env) CoapSession

func (env *Env) CoapSession() *libcoap.Session

func (*Env) DeleteTokenOfDeletedResource

func (env *Env) DeleteTokenOfDeletedResource(token string)

func (*Env) EventChannel

func (env *Env) EventChannel() chan Event

func (*Env) GetAllRequestQuery

func (env *Env) GetAllRequestQuery() map[string]*RequestQuery

func (*Env) GetBlockData

func (env *Env) GetBlockData(key string) *libcoap.Pdu

func (*Env) GetCurrentMissingHb

func (env *Env) GetCurrentMissingHb() int

func (*Env) GetIsServerStopped

func (env *Env) GetIsServerStopped() bool

func (*Env) GetMissingHbAllowed

func (env *Env) GetMissingHbAllowed() int

func (*Env) GetRequestQuery

func (env *Env) GetRequestQuery(token string) *RequestQuery

func (*Env) GetTokenAndRequestQuery

func (env *Env) GetTokenAndRequestQuery(query string) ([]byte, *RequestQuery)

func (*Env) InitialRequestBlockSize

func (env *Env) InitialRequestBlockSize() *int

func (*Env) IntervalBeforeMaxAge

func (env *Env) IntervalBeforeMaxAge() int

func (*Env) IsDeletedResource

func (env *Env) IsDeletedResource(token string) bool

func (*Env) IsHeartbeatAllowed

func (env *Env) IsHeartbeatAllowed() bool

func (*Env) IsPartialBlock

func (env *Env) IsPartialBlock() bool

func (*Env) IsTokenExist

func (env *Env) IsTokenExist(key string) bool

func (*Env) QBlockSize

func (env *Env) QBlockSize() *int

func (*Env) RemoveRequestQuery

func (env *Env) RemoveRequestQuery(token string)

func (*Env) RenewEnv

func (env *Env) RenewEnv(context *libcoap.Context, session *libcoap.Session) *Env

func (*Env) Requests

func (env *Env) Requests() map[string]*MessageTask

func (*Env) Run

func (env *Env) Run(task Task)

func (*Env) SecondRequestBlockSize

func (env *Env) SecondRequestBlockSize() *int

func (*Env) SessionConfigMode

func (env *Env) SessionConfigMode() string

func (*Env) SessionConfigTask

func (env *Env) SessionConfigTask() *SessionConfigTask

func (*Env) SetCountMitigation

func (env *Env) SetCountMitigation(v messages.MitigationResponse, token string)

* Set the number of mitigation in case receive response from getting all mitigation with observe option

func (*Env) SetCurrentMissingHb

func (env *Env) SetCurrentMissingHb(currentMissingHb int)

func (*Env) SetInitialRequestBlockSize

func (env *Env) SetInitialRequestBlockSize(initialRequestBlockSize *int)

func (*Env) SetIntervalBeforeMaxAge

func (env *Env) SetIntervalBeforeMaxAge(intervalBeforeMaxAge int)

func (*Env) SetIsPartialBlock

func (env *Env) SetIsPartialBlock(isPartialBlock bool)

func (*Env) SetIsServerStopped

func (env *Env) SetIsServerStopped(isServerStopped bool)

func (*Env) SetMissingHbAllowed

func (env *Env) SetMissingHbAllowed(missing_hb_allowed int)

func (*Env) SetReplacingSession

func (env *Env) SetReplacingSession(session *libcoap.Session)

func (*Env) SetRetransmitParams

func (env *Env) SetRetransmitParams(maxRetransmit int, ackTimeout decimal.Decimal, ackRandomFactor decimal.Decimal)

func (*Env) SetRetransmitParamsForQBlock

func (env *Env) SetRetransmitParamsForQBlock(qblockSize int, maxPayload int, nonMaxRetransmit int,
	nonTimeout float64, nonReceiveTimeout float64)

func (*Env) SetSecondRequestBlockSize

func (env *Env) SetSecondRequestBlockSize(secondRequestBlockSize *int)

func (*Env) SetSessionConfigMode

func (env *Env) SetSessionConfigMode(sessionConfigMode string)

func (*Env) StopHeartBeat

func (env *Env) StopHeartBeat()

func (*Env) StopSessionConfig

func (env *Env) StopSessionConfig()

func (*Env) UpdateCountMitigation

func (env *Env) UpdateCountMitigation(req *libcoap.Pdu, v messages.MitigationResponse, token string)

* Update the number of observed mitigation * if response is notification response (Existed token mitigation all with observe is register): * mitigation status = 2, CountMitigation increase 1 * mitigation status = 6, CountMitigation decrease 1 * CountMitigation = 0, remove query request with token is token of all mitigation observer

func (*Env) WaitingForResponse

func (env *Env) WaitingForResponse(task *MessageTask) (pdu *libcoap.Pdu)

* Waiting for response that received from server after sending request successfully * parameter: * task: the request task * return: * pdu: the response data

type Event

type Event interface {
	Task() Task
	Handle(*Env)
}

type EventBase

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

func (EventBase) Task

func (e EventBase) Task() Task

type HeartBeatEvent

type HeartBeatEvent struct{ EventBase }

func (*HeartBeatEvent) Handle

func (e *HeartBeatEvent) Handle(env *Env)

type HeartBeatResponseHandler

type HeartBeatResponseHandler func(*HeartBeatTask, *libcoap.Pdu)

type HeartBeatTask

type HeartBeatTask struct {
	TaskBase
	// contains filtered or unexported fields
}

func NewHeartBeatTask

func NewHeartBeatTask(interval time.Duration, retry int, timeout time.Duration, responseHandler HeartBeatResponseHandler, timeoutHandler HeartBeatTimeoutHandler) *HeartBeatTask

func (*HeartBeatTask) IsRunnable

func (t *HeartBeatTask) IsRunnable() bool

type HeartBeatTimeoutHandler

type HeartBeatTimeoutHandler func(*HeartBeatTask, *Env)

type MessageEvent

type MessageEvent struct{ EventBase }

func (*MessageEvent) Handle

func (e *MessageEvent) Handle(env *Env)

type MessageTask

type MessageTask struct {
	TaskBase
	// contains filtered or unexported fields
}

func NewMessageTask

func NewMessageTask(message *libcoap.Pdu,
	interval time.Duration,
	retry int,
	timeout time.Duration,
	isStop bool,
	isHeartBeat bool,
	responseHandler ResponseHandler,
	timeoutHandler TimeoutHandler) *MessageTask

func (*MessageTask) AddResponse

func (t *MessageTask) AddResponse(pdu *libcoap.Pdu)

func (*MessageTask) GetMessage

func (task *MessageTask) GetMessage() *libcoap.Pdu

func (*MessageTask) GetResponseHandler

func (task *MessageTask) GetResponseHandler() ResponseHandler

func (*MessageTask) GetTimeoutHandler

func (task *MessageTask) GetTimeoutHandler() TimeoutHandler

func (*MessageTask) IsStop

func (task *MessageTask) IsStop() bool

func (*MessageTask) SetMessage

func (task *MessageTask) SetMessage(pdu *libcoap.Pdu)

func (*MessageTask) Stop

func (task *MessageTask) Stop()

type RequestQuery

type RequestQuery struct {
	Query           string
	CountMitigation *int
}

type ResponseHandler

type ResponseHandler func(*MessageTask, *libcoap.Pdu, *Env)

type SessionConfigEvent

type SessionConfigEvent struct{ EventBase }

func (*SessionConfigEvent) Handle

func (e *SessionConfigEvent) Handle(env *Env)

type SessionConfigResponseHandler

type SessionConfigResponseHandler func(*SessionConfigTask, *libcoap.Pdu, *Env)

type SessionConfigTask

type SessionConfigTask struct {
	TaskBase
	// contains filtered or unexported fields
}

func NewSessionConfigTask

func NewSessionConfigTask(message *libcoap.Pdu, interval time.Duration, responseHandler SessionConfigResponseHandler, timeoutHandler SessionConfigTimeoutHandler) *SessionConfigTask

func (*SessionConfigTask) MessageTask

func (t *SessionConfigTask) MessageTask() *libcoap.Pdu

type SessionConfigTimeoutHandler

type SessionConfigTimeoutHandler func(*SessionConfigTask, *Env)

type Task

type Task interface {
	// contains filtered or unexported methods
}

type TaskBase

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

type TimeoutEvent

type TimeoutEvent struct{ EventBase }

func (*TimeoutEvent) Handle

func (e *TimeoutEvent) Handle(env *Env)

type TimeoutHandler

type TimeoutHandler func(*MessageTask, *Env)

Jump to

Keyboard shortcuts

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