session

package
v0.0.0-...-eab7a3e Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CallbackFunc

type CallbackFunc func(frame.Frame)

CallbackFunc is a callback for a request

type ILayer

type ILayer interface {
	MakeRequest(request *Request)
	SendFrameDirect(req *frame.Frame)
	UnsolicitedFramesChan() chan frame.Frame
}

ILayer is an interface for a session layer.

type Layer

type Layer struct {
	UnsolicitedFrames chan frame.Frame
	// contains filtered or unexported fields
}

Layer contains a session layer.

func NewSessionLayer

func NewSessionLayer(ctx context.Context, frameLayer frame.ILayer, logger *zap.Logger) *Layer

NewSessionLayer will return a new session layer.

func (*Layer) MakeRequest

func (s *Layer) MakeRequest(request *Request)

MakeRequest will queue a request.

func (*Layer) SendFrameDirect

func (s *Layer) SendFrameDirect(req *frame.Frame)

SendFrameDirect should only be called inside a callback.

func (*Layer) UnsolicitedFramesChan

func (s *Layer) UnsolicitedFramesChan() chan frame.Frame

UnsolicitedFramesChan will return the unsolicited frames channel.

type Request

type Request struct {
	FunctionID byte
	Payload    []byte

	HasReturn      bool
	ReturnCallback func(error, *frame.Frame) bool

	ReceivesCallback bool
	Callback         CallbackFunc
	Lock             bool
	Release          chan bool
	Timeout          time.Duration
}

Request contains a request.

Jump to

Keyboard shortcuts

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