packet

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2021 License: MIT Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	EGTS_PT_RESPONSE       = uint8(0) // EGTS_PT_RESPONSE (подтверждение на пакет Транспортного Уровня)
	EGTS_PT_APPDATA        = uint8(1) // EGTS_PT_APPDATA (пакет содержащий данные  ППУ)
	EGTS_PT_SIGNED_APPDATA = uint8(2) // EGTS_PT_SIGNED_APPDATA (пакет содержащий данные  ППУс цифровой подписью)
)

Типы SFRD

View Source
var (
	RecordResponse    = uint8(0)  // EGTS_SR_RECORD_RESPONSE
	TermIdentity      = uint8(1)  // EGTS_SR_TERM_IDENTITY
	ResultCode        = uint8(9)  // EGTS_SR_RESULT_CODE
	AuthInfo          = uint8(7)  // EGTS_SR_AUTH_INFO
	PosData           = uint8(16) // EGTS_SR_POS_DATA
	ExtPosData        = uint8(17) // EGTS_SR_EXT_POS_DATA
	AdSensorsData     = uint8(18) // EGTS_SR_AD_SENSORS_DATA
	CountersData      = uint8(19) // EGTS_SR_COUNTERS_DATA
	StateData         = uint8(20) // EGTS_SR_STATE_DATA
	AccelerationData  = uint8(21) // EGTS_SR_ACCEL_DATA
	LiquidLevelSensor = uint8(27) // EGTS_SR_LIQUID_LEVEL_SENSOR
)

Типы подзаписей

View Source
var (
	EGTS_PC_OK              = uint8(0)   // Успешно
	EGTS_PC_IN_PROGRESS     = uint8(1)   // В процессе обработки (результат обработки ещё не известен)
	EGTS_PC_UNS_PROTOCOL    = uint8(128) // Неподдерживаемый протокол
	EGTS_PC_DECRYPT_ERROR   = uint8(129) // Ошибка декодирования
	EGTS_PC_PROC_DENIED     = uint8(130) // Обработка запрещена
	EGTS_PC_INC_HEADERFORM  = uint8(131) // Неверный формат заголовка
	EGTS_PC_INC_DATAFORM    = uint8(132) // Неверный формат данных
	EGTS_PC_UNS_TYPE        = uint8(133) // Неподдерживаемый тип
	EGTS_PC_NOTEN_PARAMS    = uint8(134) // Неверное количество параметров
	EGTS_PC_DBL_PROC        = uint8(135) // Попытка повторной обработки
	EGTS_PC_PROC_SRC_DENIED = uint8(136) // Обработка данных от источника запрещена
	EGTS_PC_HEADERCRC_ERROR = uint8(137) // Ошибка контрольной суммы заголовка
	EGTS_PC_DATACRC_ERROR   = uint8(138) // Ошибка контрольной суммы данных
	EGTS_PC_INVDATALEN      = uint8(139) // Некорректная длина данных
	EGTS_PC_ROUTE_NFOUND    = uint8(140) // Маршрут не найден
	EGTS_PC_ROUTE_CLOSED    = uint8(141) // Маршрут закрыт
	EGTS_PC_ROUTE_DENIED    = uint8(142) // Маршрутизация запрещена
	EGTS_PC_INVADDR         = uint8(143) // Неверный адрес
	EGTS_PC_TTLEXPIRED      = uint8(144) // Превышено количество ретрансляции данных
	EGTS_PC_NO_ACK          = uint8(145) // Нет подтверждения
	EGTS_PC_OBJ_NFOUND      = uint8(146) // Объект не найден
	EGTS_PC_EVNT_NFOUND     = uint8(147) // Событие не найдено
	EGTS_PC_SRVC_NFOUND     = uint8(148) // Сервис не найден
	EGTS_PC_SRVC_DENIED     = uint8(149) // Сервис запрещён
	EGTS_PC_SRVC_UNKN       = uint8(150) // Неизвестный тип сервиса
	EGTS_PC_AUTH_DENIED     = uint8(151) // Авторизация запрещена
	EGTS_PC_ALREADY_EXISTS  = uint8(152) // Объект уже существует
	EGTS_PC_ID_NFOUND       = uint8(153) // Идентификатор не найден
	EGTS_PC_INC_DATETIME    = uint8(154) // Неправильная дата и время
	EGTS_PC_IO_ERROR        = uint8(155) // Ошибка ввода/вывода
	EGTS_PC_NO_RES_AVAIL    = uint8(156) // Недостаточно ресурсов
	EGTS_PC_MODULE_FAULT    = uint8(157) // Внутренний сбой модуля
	EGTS_PC_MODULE_PWR_FLT  = uint8(158) // Сбой в работе цепи питания модуля
	EGTS_PC_MODULE_PROC_FLT = uint8(159) // Сбой в работе микроконтроллера модуля
	EGTS_PC_MODULE_SW_FLT   = uint8(160) // Сбой в работе программы модуля
	EGTS_PC_MODULE_FW_FLT   = uint8(161) // Сбой в работе внутреннего ПО модуля
	EGTS_PC_MODULE_IO_FLT   = uint8(162) // Сбой в работе блока ввода/вывода модуля
	EGTS_PC_MODULE_MEM_FLT  = uint8(163) // Сбой в работе внутренней памяти модуля
	EGTS_PC_TEST_FAILED     = uint8(164) // Тест не пройден

)

Типы кодов результатов

View Source
var (
	SERVICE_AUTH = uint8(1) // Сервис AUTH_SERVICE
	SERVICE_DATA = uint8(2) // Сервис TELEDATA_SERVICE
)

Типы сервисов

Functions

This section is empty.

Types

type BytesData

type BytesData interface {
	Decode([]byte) error
	Encode() ([]byte, error)
	Len() uint16
}

BytesData Interface for binary data

type PTResponse

type PTResponse struct {
	ResponsePacketID uint16    `json:"RPID"` // RPID Response Packet ID
	ProcessingResult uint8     `json:"PR"`   // PR Processing Result
	SDR              BytesData `json:"SFRD"` // SFRD (Services Frame Data)
}

PTResponse Subrecord of type EGTS_PT_RESPONSE

func (*PTResponse) Decode

func (response *PTResponse) Decode(b []byte) (err error)

Decode Parse slice of bytes to EGTS_PT_RESPONSE

func (*PTResponse) Encode

func (response *PTResponse) Encode() (b []byte, err error)

Encode Parse EGTS_PT_RESPONSE to slice of bytes

func (*PTResponse) Len

func (response *PTResponse) Len() (l uint16)

Len Returns length of bytes slice

type Packet

type Packet struct {
	/* Header section */
	ProtocolVersion uint8 `json:"PRV"`  // PRV (Protocol Version)
	SecurityKeyID   uint8 `json:"SKID"` // SKID (Security Key ID)
	/* Flags section */
	PRF string `json:"PRF"` // PRF (Prefix)
	PR  string `json:"PR"`  // PR (Priority)
	CMP string `json:"CMP"` // CMP (Compression)
	ENA string `json:"ENA"` // ENA (Encryption Algorithm)
	RTE string `json:"RTE"` // RTE (Route)
	/* Data section */
	HeaderLength              uint8     `json:"HL"`    // HL (Header Length)
	HeaderEncoding            uint8     `json:"HE"`    // HE (Header Encoding)
	FrameDataLength           uint16    `json:"FDL"`   // FDL (Frame Data Length)
	PacketID                  uint16    `json:"PID"`   // PID (Packet Identifier)
	PacketType                uint8     `json:"PT"`    // PT (Packet Type)
	PeerAddress               uint16    `json:"PRA"`   // PRA (Peer Address)
	RecipientAddress          uint16    `json:"RCA"`   // RCA (Recipient Address)
	TimeToLive                uint8     `json:"TTL"`   // TTL (Time To Live)
	HeaderCheckSum            uint8     `json:"HCS"`   // HCS (Header Check Sum)
	ServicesFrameData         BytesData `json:"SFRD"`  // SFRD (Services Frame Data)
	ServicesFrameDataCheckSum uint16    `json:"SFRCS"` // SFRCS

	ErrorCode uint8 `json:"-"`
}

Packet EGTS packet

func ReadPacket

func ReadPacket(b []byte) (p Packet, err error)

ReadPacket Parse slice of bytes as EGTS packet

func (*Packet) Encode

func (p *Packet) Encode() (b []byte)

Encode Parse EGTS_PT_RESPONSE to slice of bytes

func (*Packet) PrepareAnswer

func (p *Packet) PrepareAnswer(recordNum, pid uint16) Packet

PrepareAnswer Prepare answer for incoming packet

func (*Packet) PrepareSRResultCode

func (p *Packet) PrepareSRResultCode(c uint8, recordNum, pid uint16) Packet

PrepareSRResultCode Prepare result code (SR_Result_Code) for incoming packet

type RecordData

type RecordData struct {
	SubrecordType   uint8     `json:"SRT"` // SRT (Subrecord Туре)
	SubrecordLength uint16    `json:"SRL"` // SRL (Subrecord Length)
	SubrecordData   BytesData `json:"SRD"` // SRD (Subrecord Data)
}

RecordData Service Data Record

type RecordsData

type RecordsData []*RecordData

RecordsData Slice of RecordData

func (*RecordsData) Decode

func (rd *RecordsData) Decode(b []byte) (err error)

Decode Parse slice of bytes to Service Data Record

func (*RecordsData) Encode

func (rd *RecordsData) Encode() (b []byte, err error)

Encode Parse Service Data Record to slice of bytes

func (*RecordsData) Len

func (rd *RecordsData) Len() (l uint16)

Len Returns length of bytes slice

type ServiceDataRecord

type ServiceDataRecord struct {
	/* Header section */
	RecordLength uint16 `json:"RL"` // RL (Record Length)
	RecordNumber uint16 `json:"RN"` // RN (Record Number)
	/* Flags section */
	SSOD string `json:"SSOD"` // SSOD Source Service On Device
	RSOD string `json:"RSOD"` // RSOD Recipient Service On Device
	GRP  string `json:"GRP"`  // GRP Group
	RPP  string `json:"RPP"`  // RPP Record Processing Priority
	TMFE string `json:"TMFE"` // TMFE Time Field Exists
	EVFE string `json:"EVFE"` // EVFE Event ID Field Exists
	OBFE string `json:"OBFE"` // OBFE Object ID FieldExists
	/* Data section */
	ObjectIdentifier     uint32      `json:"OID"`  // OID (Object Identifier)
	EventIdentifier      uint32      `json:"EVID"` // EVID (Event Identifier)
	Time                 uint32      `json:"TM"`   // TM (Time)
	SourceServiceType    uint8       `json:"SST"`  // SST (Source Service Type)
	RecipientServiceType uint8       `json:"RST"`  // RST (Recipient Service Type)
	RecordsData          RecordsData `json:"RD"`   // RD (Record Data)
}

ServiceDataRecord SDR (Service Data Record)

type ServicesFrameData

type ServicesFrameData []*ServiceDataRecord

ServicesFrameData SFRD (Services Frame Data)

func (*ServicesFrameData) Decode

func (sfrd *ServicesFrameData) Decode(b []byte) (err error)

Decode Parse slice of bytes to SFRD

func (*ServicesFrameData) Encode

func (sfrd *ServicesFrameData) Encode() (b []byte, err error)

Encode Parse SFRD to slice of bytes

func (*ServicesFrameData) Len

func (sfrd *ServicesFrameData) Len() (l uint16)

Len Returns length of bytes slice

Jump to

Keyboard shortcuts

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