@@ -61,7 +61,7 @@ using namespace std;
61
61
using namespace srt;
62
62
63
63
64
-
CHandShake::CHandShake()
64
+
srt::CHandShake::CHandShake()
65
65
: m_iVersion(0)
66
66
, m_iType(0) // Universal: UDT_UNDEFINED or no flags
67
67
, m_iISN(0)
@@ -76,7 +76,7 @@ CHandShake::CHandShake()
76
76
m_piPeerIP[i] = 0;
77
77
}
78
78
79
-
int CHandShake::store_to(char* buf, size_t& w_size)
79
+
int srt::CHandShake::store_to(char* buf, size_t& w_size)
80
80
{
81
81
if (w_size < m_iContentSize)
82
82
return -1;
@@ -98,7 +98,7 @@ int CHandShake::store_to(char* buf, size_t& w_size)
98
98
return 0;
99
99
}
100
100
101
-
int CHandShake::load_from(const char* buf, size_t size)
101
+
int srt::CHandShake::load_from(const char* buf, size_t size)
102
102
{
103
103
if (size < m_iContentSize)
104
104
return -1;
@@ -121,6 +121,8 @@ int CHandShake::load_from(const char* buf, size_t size)
121
121
122
122
#ifdef ENABLE_LOGGING
123
123
124
+
namespace srt
125
+
{
124
126
const char* srt_rejectreason_name [] = {
125
127
"UNKNOWN",
126
128
"SYSTEM",
@@ -138,8 +140,9 @@ const char* srt_rejectreason_name [] = {
138
140
"CONGESTION",
139
141
"FILTER",
140
142
};
143
+
}
141
144
142
-
std::string RequestTypeStr(UDTRequestType rq)
145
+
std::string srt::RequestTypeStr(UDTRequestType rq)
143
146
{
144
147
if (rq >= URQ_FAILURE_TYPES)
145
148
{
@@ -172,7 +175,7 @@ std::string RequestTypeStr(UDTRequestType rq)
172
175
}
173
176
}
174
177
175
-
string CHandShake::RdvStateStr(CHandShake::RendezvousState s)
178
+
string srt::CHandShake::RdvStateStr(CHandShake::RendezvousState s)
176
179
{
177
180
switch (s)
178
181
{
@@ -188,7 +191,7 @@ string CHandShake::RdvStateStr(CHandShake::RendezvousState s)
188
191
}
189
192
#endif
190
193
191
-
bool CHandShake::valid()
194
+
bool srt::CHandShake::valid()
192
195
{
193
196
if (m_iVersion < CUDT::HS_VERSION_UDT4
194
197
|| m_iISN < 0 || m_iISN >= CSeqNo::m_iMaxSeqNo
@@ -199,7 +202,7 @@ bool CHandShake::valid()
199
202
return true;
200
203
}
201
204
202
-
string CHandShake::show()
205
+
string srt::CHandShake::show()
203
206
{
204
207
ostringstream so;
205
208
@@ -231,7 +234,7 @@ string CHandShake::show()
231
234
return so.str();
232
235
}
233
236
234
-
string CHandShake::ExtensionFlagStr(int32_t fl)
237
+
string srt::CHandShake::ExtensionFlagStr(int32_t fl)
235
238
{
236
239
std::ostringstream out;
237
240
if ( fl & HS_EXT_HSREQ )
@@ -258,7 +261,7 @@ string CHandShake::ExtensionFlagStr(int32_t fl)
258
261
// XXX This code isn't currently used. Left here because it can
259
262
// be used in future, should any refactoring for the "manual word placement"
260
263
// code be done.
261
-
bool SrtHSRequest::serialize(char* buf, size_t size) const
264
+
bool srt::SrtHSRequest::serialize(char* buf, size_t size) const
262
265
{
263
266
if (size < SRT_HS_SIZE)
264
267
return false;
@@ -273,7 +276,7 @@ bool SrtHSRequest::serialize(char* buf, size_t size) const
273
276
}
274
277
275
278
276
-
bool SrtHSRequest::deserialize(const char* buf, size_t size)
279
+
bool srt::SrtHSRequest::deserialize(const char* buf, size_t size)
277
280
{
278
281
m_iSrtVersion = 0; // just to let users recognize if it succeeded or not.
279
282
@@ -288,3 +291,35 @@ bool SrtHSRequest::deserialize(const char* buf, size_t size)
288
291
m_iSrtReserved = (*p++);
289
292
return true;
290
293
}
294
+
295
+
std::string srt::SrtFlagString(int32_t flags)
296
+
{
297
+
#define LEN(arr) (sizeof (arr)/(sizeof ((arr)[0])))
298
+
299
+
std::string output;
300
+
static std::string namera[] = { "TSBPD-snd", "TSBPD-rcv", "haicrypt", "TLPktDrop", "NAKReport", "ReXmitFlag", "StreamAPI" };
301
+
302
+
size_t i = 0;
303
+
for (; i < LEN(namera); ++i)
304
+
{
305
+
if ((flags & 1) == 1)
306
+
{
307
+
output += "+" + namera[i] + " ";
308
+
}
309
+
else
310
+
{
311
+
output += "-" + namera[i] + " ";
312
+
}
313
+
314
+
flags >>= 1;
315
+
}
316
+
317
+
#undef LEN
318
+
319
+
if (flags != 0)
320
+
{
321
+
output += "+unknown";
322
+
}
323
+
324
+
return output;
325
+
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4