Vector BLF
AfdxStatistic.h
1 // SPDX-FileCopyrightText: 2013-2021 Tobias Lorenz <tobias.lorenz@gmx.net>
2 //
3 // SPDX-License-Identifier: GPL-3.0-or-later
4 
5 #pragma once
6 
7 #include <Vector/BLF/platform.h>
8 
9 #include <Vector/BLF/AbstractFile.h>
10 #include <Vector/BLF/ObjectHeader.h>
11 
12 #include <Vector/BLF/vector_blf_export.h>
13 
14 namespace Vector {
15 namespace BLF {
16 
23 struct VECTOR_BLF_EXPORT AfdxStatistic final : ObjectHeader {
24  AfdxStatistic();
25 
26  void read(AbstractFile & is) override;
27  void write(AbstractFile & os) override;
28  uint32_t calculateObjectSize() const override;
29 
35  uint16_t channel {};
36 
38  enum Flags : uint16_t {
40  ChannelIsConfigured = 0x0001,
41 
43  HwRelatedCountersValid = 0x0002,
44 
46  CanWinRelatedCountersAreValid = 0x0004,
47 
49  LinkRelatedInfoIsValud = 0x0008,
50 
52  InvalidPacketCounterIsValid = 0x0010,
53 
55  LostPacketCounterIsValud = 0x0020,
56 
58  DroppedPacketCounterIsValid = 0x0040,
59 
61  ByteCountersAreBasedOnCanWinPackets = 0x0080
62  };
63 
65  uint16_t flags {};
66 
71  uint32_t rxPacketCount {};
72 
77  uint32_t rxByteCount {};
78 
83  uint32_t txPacketCount {};
84 
89  uint32_t txByteCount {};
90 
95  uint32_t collisionCount {};
96 
101  uint32_t errorCount {};
102 
108  uint32_t statDroppedRedundantPacketCount {};
109 
115  uint32_t statRedundantErrorPacketCount {};
116 
121  uint32_t statIntegrityErrorPacketCount {};
122 
127  uint32_t statAvrgPeriodMsec {};
128 
133  uint32_t statAvrgJitterMysec {};
134 
138  uint32_t vlid {};
139 
144  uint32_t statDuration {};
145 };
146 
147 }
148 }
Definition: AbstractFile.h:19
AFDX_STATISTIC.
Definition: AfdxStatistic.h:23
Flags
Definition: AfdxStatistic.h:38
Object header.
Definition: ObjectHeader.h:22