IT++
4.3.1
Toggle main menu visibility
itpp
protocol
packet.h
Go to the documentation of this file.
1
28
29
#ifndef PACKET_H
30
#define PACKET_H
31
32
#include <itpp/itexports.h>
33
34
#if (defined(_MSC_VER) && defined(ITPP_SHARED_LIB) && !(defined(itpp_EXPORTS) || defined(itpp_debug_EXPORTS)))
35
36
#ifndef ITPP_PROTOCOL_EXCLUDED
37
#define ITPP_PROTOCOL_EXCLUDED
38
#pragma message( "PROTOCOL definitions are not available for MSVC shared builds" )
39
#endif
40
41
#else
42
43
#include <
itpp/protocol/signals_slots.h
>
44
45
46
namespace
itpp
47
{
48
50
51
55
class
Packet
56
{
57
public
:
59
Packet
(
const
int
packet_size = 0) {
set_bit_size
(packet_size); }
61
virtual
~Packet
() {}
62
64
void
set_bit_size
(
int
packet_size) {
it_assert
(packet_size >= 0,
"Packet size must be positive"
); size_bits = packet_size; }
65
67
int
bit_size
() {
return
size_bits; }
68
69
private
:
70
int
size_bits;
// size of packet in bits
71
};
72
73
77
class
L3_Packet_Info
78
{
79
public
:
81
L3_Packet_Info
(
Packet
*packet) {
timestamp
= 0;
pkt_pointer
= packet; }
82
84
~L3_Packet_Info
() {}
85
87
Ttype
timestamp
;
88
90
Packet
*
pkt_pointer
;
91
};
92
93
97
class
Link_Packet
:
public
Packet
98
{
99
public
:
101
Link_Packet
(
const
int
Seq_no,
const
unsigned
long
int
Link_packet_id,
L3_Packet_Info
*Cp) {
seq_no
= Seq_no;
link_packet_id
= Link_packet_id;
l3_pkt_info_p
= Cp; }
102
104
~Link_Packet
() {}
105
107
unsigned
long
int
link_packet_id
;
109
int
seq_no
;
111
L3_Packet_Info
*
l3_pkt_info_p
;
112
};
113
117
class
ACK
:
public
Packet
118
{
119
public
:
121
ACK
(
const
int
Seq_no = -1,
const
int
Id = 0) {
seq_no
= Seq_no;
id
= Id; }
122
124
~ACK
() {}
125
127
int
id
;
129
int
seq_no
;
130
};
131
133
134
}
// namespace itpp
135
136
#endif
137
138
#endif
// #ifndef PACKET_H
139
itpp::ACK::ACK
ACK(const int Seq_no=-1, const int Id=0)
ADD DOCUMENTATION HERE.
Definition
packet.h:121
itpp::ACK::seq_no
int seq_no
ADD DOCUMENTATION HERE.
Definition
packet.h:129
itpp::ACK::~ACK
~ACK()
ADD DOCUMENTATION HERE.
Definition
packet.h:124
itpp::ACK::id
int id
ADD DOCUMENTATION HERE.
Definition
packet.h:127
itpp::L3_Packet_Info
Definition
packet.h:78
itpp::L3_Packet_Info::pkt_pointer
Packet * pkt_pointer
ADD DOCUMENTATION HERE.
Definition
packet.h:90
itpp::L3_Packet_Info::L3_Packet_Info
L3_Packet_Info(Packet *packet)
ADD DOCUMENTATION HERE.
Definition
packet.h:81
itpp::L3_Packet_Info::timestamp
Ttype timestamp
ADD DOCUMENTATION HERE.
Definition
packet.h:87
itpp::L3_Packet_Info::~L3_Packet_Info
~L3_Packet_Info()
ADD DOCUMENTATION HERE.
Definition
packet.h:84
itpp::Link_Packet::link_packet_id
unsigned long int link_packet_id
ADD DOCUMENTATION HERE.
Definition
packet.h:107
itpp::Link_Packet::seq_no
int seq_no
ADD DOCUMENTATION HERE.
Definition
packet.h:109
itpp::Link_Packet::Link_Packet
Link_Packet(const int Seq_no, const unsigned long int Link_packet_id, L3_Packet_Info *Cp)
ADD DOCUMENTATION HERE.
Definition
packet.h:101
itpp::Link_Packet::~Link_Packet
~Link_Packet()
ADD DOCUMENTATION HERE.
Definition
packet.h:104
itpp::Link_Packet::l3_pkt_info_p
L3_Packet_Info * l3_pkt_info_p
ADD DOCUMENTATION HERE.
Definition
packet.h:111
itpp::Packet
Definition
packet.h:56
itpp::Packet::bit_size
int bit_size()
get size of packet in bits
Definition
packet.h:67
itpp::Packet::set_bit_size
void set_bit_size(int packet_size)
set size of packet in bits
Definition
packet.h:64
itpp::Packet::~Packet
virtual ~Packet()
ADD DOCUMENTATION HERE.
Definition
packet.h:61
itpp::Packet::Packet
Packet(const int packet_size=0)
ADD DOCUMENTATION HERE.
Definition
packet.h:59
it_assert
#define it_assert(t, s)
Abort if t is not true.
Definition
itassert.h:94
itpp
itpp namespace
Definition
itmex.h:37
itpp::Ttype
double Ttype
64-bit floating point time
Definition
events.h:54
signals_slots.h
Definitions of Signals and Slots classes.
Generated by
1.17.0