reportreceiver

package module
v0.0.0-...-9a0f018 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2021 License: MIT Imports: 6 Imported by: 0

README

go-reportreceiver

Receiver for tos-reportsender reports.

Documentation

Overview

Package reportreceiver ReportReceiver

Index

Constants

View Source
const AMID_REPORTS = 9
View Source
const AM_DEFAULT_GROUP = 0x22
View Source
const HEADER_REPORTMESSAGE = 1
View Source
const HEADER_REPORTMESSAGE_ACK = 2

Variables

This section is empty.

Functions

This section is empty.

Types

type PartialReport

type PartialReport struct {
	Source moteconnection.AMAddr
	Report uint32

	Total uint8

	FirstRcvd time.Time
	LastRcvd  time.Time
	FragsRcvd int

	LastContact time.Time

	Fragments map[uint8]ReportMsg
}

func NewPartialReport

func NewPartialReport(source moteconnection.AMAddr, rm *ReportMsg) *PartialReport

func (*PartialReport) AddFragment

func (self *PartialReport) AddFragment(fragment *ReportMsg)

func (*PartialReport) GetReport

func (self *PartialReport) GetReport() (*Report, error)

func (*PartialReport) IsComplete

func (self *PartialReport) IsComplete() bool

func (*PartialReport) Missing

func (self *PartialReport) Missing() []uint8

func (*PartialReport) String

func (self *PartialReport) String() string

type QueueElement

type QueueElement struct {
	Source moteconnection.AMAddr
}

type Report

type Report struct {
	Source         moteconnection.AMAddr
	Report         uint32
	Channel        uint8
	Id             uint32
	LocalTimeMilli uint32 // MilliSeconds from boot
	ClockTime      uint32 // Seconds from the beginning of the century or 0xFFFFFFFF
	Data           []byte

	FirstRcvd time.Time
	LastRcvd  time.Time
	FragsRcvd int
}

func (*Report) StorageString

func (self *Report) StorageString() string

func (*Report) StorageStringHeader

func (self *Report) StorageStringHeader() string

func (*Report) String

func (self *Report) String() string

type ReportData

type ReportData struct {
	Channel        uint8
	Id             uint32
	LocalTimeMilli uint32
	ClockTime      uint32
	Data           []byte
}

type ReportFileWriter

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

func NewReportFileWriter

func NewReportFileWriter(outfile string) (*ReportFileWriter, error)

func (*ReportFileWriter) Append

func (self *ReportFileWriter) Append(rd *Report) error

Append a report to the log.

type ReportMsg

type ReportMsg struct {
	Header   uint8
	Report   uint32
	Fragment uint8
	Total    uint8
	Data     []byte
}

type ReportMsgAck

type ReportMsgAck struct {
	Header  uint8
	Report  uint32
	Missing []uint8
}

type ReportReceiver

type ReportReceiver struct {
	loggers.DIWEloggers
	// contains filtered or unexported fields
}

func NewReportReceiver

func NewReportReceiver(mconn moteconnection.MoteConnection, source moteconnection.AMAddr, group moteconnection.AMGroup) *ReportReceiver

func (*ReportReceiver) Run

func (self *ReportReceiver) Run()

func (*ReportReceiver) RunMissingFragmentResender

func (self *ReportReceiver) RunMissingFragmentResender()

RunMissingFragmentResender func Resends ACK packets to nodes which have not sent all fragments at current report

func (*ReportReceiver) RunResetResender

func (self *ReportReceiver) RunResetResender()

RunResetResender func Resends ACK packets to nodes which are awaiting for routing and have only sent RESET

func (*ReportReceiver) SendAck

func (self *ReportReceiver) SendAck(destination moteconnection.AMAddr, report uint32, missing []uint8)

func (*ReportReceiver) SetOutput

func (self *ReportReceiver) SetOutput(rw ReportWriter)

type ReportWriter

type ReportWriter interface {
	Append(*Report) error
}

Directories

Path Synopsis
cmd
reportlogger
reportlogger executable.
reportlogger executable.

Jump to

Keyboard shortcuts

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