PacketReader Struct Reference

Read some packets, and when do use that data as initial load filter. More...

Inheritance diagram for PacketReader:
LoadFilter

Public Member Functions

 PacketReader ()
 Initialise everything.
void AddPacket (const Packet *p)
 Add a packet to this buffer.
size_t Read (byte *rbuf, size_t size)
 Read a given number of bytes from the savegame.
void Reset ()
 Reset this filter to read from the beginning of the file.

Data Fields

AutoFreeSmallVector< byte *, 16 > blocks
 Buffer with blocks of allocated memory.
byte * buf
 Buffer we're going to write to/read from.
byte * bufe
 End of the buffer we write to/read from.
byte ** block
 The block we're reading from/writing to.
size_t written_bytes
 The total number of bytes we've written.
size_t read_bytes
 The total number of read bytes.

Static Public Attributes

static const size_t CHUNK = 32 * 1024
 32 KiB chunks of memory.

Detailed Description

Read some packets, and when do use that data as initial load filter.

Definition at line 40 of file network_client.cpp.


Constructor & Destructor Documentation

PacketReader::PacketReader (  )  [inline]

Initialise everything.

Definition at line 51 of file network_client.cpp.


Member Function Documentation

void PacketReader::AddPacket ( const Packet p  )  [inline]

Add a packet to this buffer.

Parameters:
p The packet to add.

Definition at line 59 of file network_client.cpp.

References SmallVector< T, S >::Append(), blocks, buf, bufe, Packet::buffer, CHUNK, min(), Packet::pos, read_bytes, Packet::size, and written_bytes.

size_t PacketReader::Read ( byte *  buf,
size_t  len 
) [inline, virtual]

Read a given number of bytes from the savegame.

Parameters:
buf The bytes to read.
len The number of bytes to read.
Returns:
The number of actually read bytes.

Implements LoadFilter.

Definition at line 86 of file network_client.cpp.

References block, buf, bufe, CHUNK, min(), read_bytes, and written_bytes.


The documentation for this struct was generated from the following file:

Generated on Fri Feb 4 20:54:47 2011 for OpenTTD by  doxygen 1.6.1