File diff r25243:8deed94703f6 → r25244:61183b73d88e
src/network/core/packet.cpp
Show inline comments
 
@@ -17,17 +17,24 @@
 
#include "../../safeguards.h"
 

	
 
/**
 
 * Create a packet that is used to read from a network socket
 
 * @param cs the socket handler associated with the socket we are reading from
 
 * Create a packet that is used to read from a network socket.
 
 * @param cs                The socket handler associated with the socket we are reading from.
 
 * @param initial_read_size The initial amount of data to transfer from the socket into the
 
 *                          packet. This defaults to just the required bytes to determine the
 
 *                          packet's size. That default is the wanted for streams such as TCP
 
 *                          as you do not want to read data of the next packet yet. For UDP
 
 *                          you need to read the whole packet at once otherwise you might
 
 *                          loose some the data of the packet, so there you pass the maximum
 
 *                          size for the packet you expect from the network.
 
 */
 
Packet::Packet(NetworkSocketHandler *cs)
 
Packet::Packet(NetworkSocketHandler *cs, size_t initial_read_size)
 
{
 
	assert(cs != nullptr);
 

	
 
	this->cs     = cs;
 
	this->next   = nullptr;
 
	this->pos    = 0; // We start reading from here
 
	this->size   = 0;
 
	this->size   = static_cast<int>(initial_read_size);
 
	this->buffer = MallocT<byte>(SEND_MTU);
 
}
 

	
 
@@ -336,3 +343,12 @@ void Packet::Recv_string(char *buffer, s
 

	
 
	str_validate(bufp, last, settings);
 
}
 

	
 
/**
 
 * Get the amount of bytes that are still available for the Transfer functions.
 
 * @return The number of bytes that still have to be transfered.
 
 */
 
size_t Packet::RemainingBytesToTransfer() const
 
{
 
	return this->size - this->pos;
 
}