Added signed types to packet
This commit is contained in:
parent
27b559b4ef
commit
1594d4babf
@ -132,6 +132,72 @@ namespace fr
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adds a 16bit variable to the packet
|
||||||
|
*/
|
||||||
|
inline Packet &operator<<(int16_t var)
|
||||||
|
{
|
||||||
|
buffer.resize(buffer.size() + sizeof(var));
|
||||||
|
var = htons((uint16_t)var);
|
||||||
|
memcpy(&buffer[buffer.size() - sizeof(var)], &var, sizeof(var));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Extracts a 16bit variable from the packet
|
||||||
|
*/
|
||||||
|
inline Packet &operator>>(int16_t &var)
|
||||||
|
{
|
||||||
|
memcpy(&var, &buffer[0], sizeof(var));
|
||||||
|
buffer.erase(0, sizeof(var));
|
||||||
|
var = ntohs((uint16_t)var);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adds a 32bit variable to the packet
|
||||||
|
*/
|
||||||
|
inline Packet &operator<<(int32_t var)
|
||||||
|
{
|
||||||
|
buffer.resize(buffer.size() + sizeof(var));
|
||||||
|
var = htonl((uint32_t)var);
|
||||||
|
memcpy(&buffer[buffer.size() - sizeof(var)], &var, sizeof(var));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Extracts a 32bit variable from the packet
|
||||||
|
*/
|
||||||
|
inline Packet &operator>>(int32_t &var)
|
||||||
|
{
|
||||||
|
memcpy(&var, &buffer[0], sizeof(var));
|
||||||
|
buffer.erase(0, sizeof(var));
|
||||||
|
var = ntohl((uint32_t)var);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adds a 64bit variable to the packet
|
||||||
|
*/
|
||||||
|
inline Packet &operator<<(int64_t var)
|
||||||
|
{
|
||||||
|
buffer.resize(buffer.size() + sizeof(var));
|
||||||
|
var = htonll((uint64_t)var);
|
||||||
|
memcpy(&buffer[buffer.size() - sizeof(var)], &var, sizeof(var));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Extracts a 64bit variable from the packet
|
||||||
|
*/
|
||||||
|
inline Packet &operator>>(int64_t &var)
|
||||||
|
{
|
||||||
|
memcpy(&var, &buffer[0], sizeof(var));
|
||||||
|
buffer.erase(0, sizeof(var));
|
||||||
|
var = ntohll((uint64_t)var);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Adds a float variable to the packet
|
* Adds a float variable to the packet
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -103,6 +103,6 @@ namespace fr
|
|||||||
{
|
{
|
||||||
//todo: Perhaps allow for these settings to be modified
|
//todo: Perhaps allow for these settings to be modified
|
||||||
int one = 1;
|
int one = 1;
|
||||||
setsockopt(get_socket_descriptor(), SOL_TCP, TCP_NODELAY, &one, sizeof(one));
|
setsockopt(get_socket_descriptor(), SOL_TCP, TCP_NODELAY, (char*)&one, sizeof(one));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user