OpenNet
Packet.h
Aller à la documentation de ce fichier.
1 
2 // Product OpenNet
3 
8 
9 #pragma once
10 
11 namespace OpenNetK
12 {
13 
14  // Class
16 
30  class Packet
31  {
32 
33  public:
34 
43  uint64_t GetData_PA();
44 
55  void * GetData_XA();
56 
66  void IndicateRxCompleted(uint32_t aSize_byte);
67 
75  void IndicateRxRunning();
76 
77  // internal:
78 
79  // --> TX_RUNNING <-- PX_COMPLETED <--+
80  // | |
81  // +--> RX_RUNNING --> RX_COMPLETED
82  typedef enum
83  {
84  STATE_INVALID,
85 
86  STATE_PX_COMPLETED,
87  STATE_RX_COMPLETED,
88  STATE_RX_RUNNING ,
89  STATE_TX_RUNNING ,
90 
91  STATE_QTY
92  }
93  State;
94 
95  uint32_t mSendTo;
96  State mState ;
97 
98  uint32_t GetSize();
99 
100  void Init(uint64_t aData_PA, void * aData_XA, OpenNet_PacketInfo * aInfo_XA);
101 
102  private:
103 
104  uint64_t mData_PA ;
105  void * mData_XA ;
106  OpenNet_PacketInfo * mInfo_XA ;
107  uint32_t mSize_byte;
108 
109  };
110 
111  // Public
113 
114  inline uint64_t Packet::GetData_PA()
115  {
116  return mData_PA;
117  }
118 
119  inline void * Packet::GetData_XA()
120  {
121  return mData_XA;
122  }
123 
124  inline void Packet::IndicateRxCompleted(uint32_t aSize_byte)
125  {
126  mInfo_XA->mSize_byte = aSize_byte;
127  mInfo_XA->mSendTo = 0;
128 
129  mSize_byte = aSize_byte;
130  mState = STATE_RX_COMPLETED;
131  }
132 
134  {
135  mState = STATE_RX_RUNNING;
136  }
137 
138  // Internal
140 
141  inline uint32_t Packet::GetSize()
142  {
143  return mSize_byte;
144  }
145 
146 }
void * GetData_XA()
Obtenir l'adresse virtuelle des donnees.
Definition: Packet.h:119
void IndicateRxRunning()
Indiquer que le paquet est maintenant utilisé pour recevoir des données.
Definition: Packet.h:133
Cette classe cache les information d'un paquet.
Definition: Packet.h:30
Definition: Adapter.h:26
Cette structure est utilisée pour passer les informations au sujet d'un paquet.
Definition: Types.h:55
void IndicateRxCompleted(uint32_t aSize_byte)
Indiquer que le paquet contient maintenant des données reçu.
Definition: Packet.h:124
uint64_t GetData_PA()
Obtenir l'adresse physique des données.
Definition: Packet.h:114