# PacketReader Struct Reference

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

Inheritance diagram for PacketReader:

## 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 41 of file network_client.cpp.

## Constructor & Destructor Documentation

PacketReader::PacketReader | ( |  | ) | `[inline]`

Initialise everything.

Definition at line 52 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 60 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 87 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:

- src/network/network_client.cpp