Merge fix

This commit is contained in:
Fred Nicolson 2017-01-25 22:59:56 +00:00
commit 2abe108d57
5 changed files with 23 additions and 5 deletions

View File

@ -104,6 +104,28 @@ namespace fr
return *this;
}
/*
* Adds an 8bit variable to the packet
*/
inline Packet &operator<<(uint8_t var)
{
buffer.resize(buffer.size() + sizeof(var));
memcpy(&buffer[buffer.size() - sizeof(var)], &var, sizeof(var));
return *this;
}
/*
* Extracts an 8bit variable from the packet
*/
inline Packet &operator>>(uint8_t &var)
{
assert_data_remaining(sizeof(var));
memcpy(&var, &buffer[buffer_read_index], sizeof(var));
buffer_read_index += sizeof(var);
return *this;
}
/*
* Adds a 16bit variable to the packet
*/

View File

@ -105,9 +105,6 @@ namespace fr
std::unique_ptr<mbedtls_ssl_context> ssl;
mbedtls_ssl_config conf;
uint32_t flags;
std::mutex outbound_mutex;
std::mutex inbound_mutex;
};
}

View File

@ -39,7 +39,6 @@ namespace fr
Socket::Status SSLSocket::send_raw(const char *data, size_t size)
{
std::lock_guard<std::mutex> guard(outbound_mutex);
int error = 0;
while((error = mbedtls_ssl_write(ssl.get(), (const unsigned char *)data, size)) <= 0)
{

View File

@ -81,6 +81,7 @@ namespace fr
ssize_t bytes_remaining = buffer_size;
size_t bytes_read = 0;
std::lock_guard<std::mutex> guard(inbound_mutex);
while(bytes_remaining > 0)
{
size_t received = 0;

View File

@ -21,7 +21,6 @@ namespace fr
Socket::Status TcpSocket::send_raw(const char *data, size_t size)
{
std::lock_guard<std::mutex> guard(outbound_mutex);
size_t sent = 0;
while(sent < size)
{