libs
libuavcan
libuavcan
include
uavcan
transport
perf_counter.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
3
*/
4
5
#ifndef UAVCAN_TRANSPORT_PERF_COUNTER_HPP_INCLUDED
6
#define UAVCAN_TRANSPORT_PERF_COUNTER_HPP_INCLUDED
7
8
#include <
uavcan/std.hpp
>
9
#include <
uavcan/build_config.hpp
>
10
#include <
uavcan/util/templates.hpp
>
11
12
namespace
uavcan
13
{
14
15
#if UAVCAN_TINY
16
17
class
UAVCAN_EXPORT
TransferPerfCounter : Noncopyable
18
{
19
public
:
20
void
addTxTransfer() { }
21
void
addRxTransfer() { }
22
void
addError() { }
23
void
addErrors(
unsigned
) { }
24
uint64_t
getTxTransferCount()
const
{
return
0; }
25
uint64_t
getRxTransferCount()
const
{
return
0; }
26
uint64_t
getErrorCount()
const
{
return
0; }
27
};
28
29
#else
30
36
class
UAVCAN_EXPORT
TransferPerfCounter
:
Noncopyable
37
{
38
uint64_t
transfers_tx_
;
39
uint64_t
transfers_rx_
;
40
uint64_t
errors_
;
41
42
public
:
43
TransferPerfCounter
()
44
: transfers_tx_(0)
45
, transfers_rx_(0)
46
, errors_(0)
47
{ }
48
49
void
addTxTransfer
() { transfers_tx_++; }
50
void
addRxTransfer
() { transfers_rx_++; }
51
52
void
addError
() { errors_++; }
53
54
void
addErrors
(
unsigned
errors)
55
{
56
errors_ += errors;
57
}
58
63
const
uint64_t
&
getTxTransferCount
()
const
{
return
transfers_tx_; }
64
const
uint64_t
&
getRxTransferCount
()
const
{
return
transfers_rx_; }
65
const
uint64_t
&
getErrorCount
()
const
{
return
errors_; }
66
};
67
68
#endif
69
70
}
71
72
#endif // UAVCAN_TRANSPORT_PERF_COUNTER_HPP_INCLUDED
uavcan::Noncopyable
Definition:
templates.hpp:46
uavcan::uint64_t
std::uint64_t uint64_t
Definition:
std.hpp:27
templates.hpp
uavcan::TransferPerfCounter::errors_
uint64_t errors_
Definition:
perf_counter.hpp:40
uavcan::TransferPerfCounter::TransferPerfCounter
TransferPerfCounter()
Definition:
perf_counter.hpp:43
uavcan::TransferPerfCounter::getErrorCount
const uint64_t & getErrorCount() const
Definition:
perf_counter.hpp:65
uavcan::TransferPerfCounter::addRxTransfer
void addRxTransfer()
Definition:
perf_counter.hpp:50
std.hpp
uavcan::TransferPerfCounter::transfers_rx_
uint64_t transfers_rx_
Definition:
perf_counter.hpp:39
uavcan::TransferPerfCounter::getRxTransferCount
const uint64_t & getRxTransferCount() const
Definition:
perf_counter.hpp:64
uavcan::TransferPerfCounter
Definition:
perf_counter.hpp:36
uavcan::TransferPerfCounter::transfers_tx_
uint64_t transfers_tx_
Definition:
perf_counter.hpp:38
uavcan::TransferPerfCounter::addTxTransfer
void addTxTransfer()
Definition:
perf_counter.hpp:49
UAVCAN_EXPORT
#define UAVCAN_EXPORT
Definition:
libuavcan/libuavcan/include/uavcan/build_config.hpp:108
uavcan::TransferPerfCounter::addErrors
void addErrors(unsigned errors)
Definition:
perf_counter.hpp:54
build_config.hpp
uavcan::TransferPerfCounter::addError
void addError()
Definition:
perf_counter.hpp:52
uavcan::TransferPerfCounter::getTxTransferCount
const uint64_t & getTxTransferCount() const
Definition:
perf_counter.hpp:63
uavcan
Definition:
libuavcan/libuavcan/include/uavcan/build_config.hpp:204
uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:02