transport

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationDataUnit

type ApplicationDataUnit interface {
	zapcore.ObjectMarshaler
	Bytes() []byte
	Header() Header
	PDU() *ProtocolDataUnit
	Checksum() ErrorCheck
}

type ErrorCheck

type ErrorCheck []byte

type FrameBuilder added in v0.0.4

type FrameBuilder interface {
	BuildResponseFrame(header Header, response *ProtocolDataUnit) (ApplicationDataUnit, error)
}
type Header interface {
	zapcore.ObjectMarshaler
	Bytes() []byte
}

type NetworkHeader added in v0.0.4

type NetworkHeader interface {
	Header
	TransactionID() []byte
	ProtocolID() []byte
	UnitID() byte
}

type NilTransport

type NilTransport struct{}

func (*NilTransport) Close

func (t *NilTransport) Close() error

func (*NilTransport) Flush

func (t *NilTransport) Flush(context.Context) error

func (*NilTransport) ReadRequest added in v0.0.4

func (*NilTransport) ReadResponse added in v0.0.4

func (*NilTransport) Write added in v0.0.4

func (t *NilTransport) Write([]byte) error

func (*NilTransport) WriteFrame

func (t *NilTransport) WriteFrame(ApplicationDataUnit) error

type ProtocolDataUnit

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

func NewProtocolDataUnit

func NewProtocolDataUnit(op data.ModbusOperation) *ProtocolDataUnit

func (*ProtocolDataUnit) Bytes

func (pdu *ProtocolDataUnit) Bytes() []byte

func (*ProtocolDataUnit) FunctionCode

func (pdu *ProtocolDataUnit) FunctionCode() data.FunctionCode

func (ProtocolDataUnit) MarshalLogObject

func (pdu ProtocolDataUnit) MarshalLogObject(encoder zapcore.ObjectEncoder) error

func (*ProtocolDataUnit) Operation

func (pdu *ProtocolDataUnit) Operation() data.ModbusOperation

type SerialHeader

type SerialHeader interface {
	Header
	Address() uint16
}

type TransactionManager added in v0.0.4

type TransactionManager interface {
	SendRequest(ctx context.Context, frame ApplicationDataUnit) (ApplicationDataUnit, error)
	WriteResponse(adu ApplicationDataUnit, pdu *ProtocolDataUnit) error
	Close() error
}

type Transport

type Transport interface {
	Flush(context.Context) error
	ReadRequest(context.Context) (ApplicationDataUnit, error)
	ReadResponse(context.Context, ApplicationDataUnit) (ApplicationDataUnit, error)
	WriteRequestFrame(uint16, *ProtocolDataUnit) (ApplicationDataUnit, error)
	WriteResponseFrame(Header, *ProtocolDataUnit) error
	Close() error
}

Directories

Path Synopsis
rtu

Jump to

Keyboard shortcuts

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