OpenTTD Source: PacketReader Struct Reference

OpenTTD Source 14.1

Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes
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 (Packet &p)
| Add a packet to this buffer. More...
size_t | Read (byte *rbuf, size_t size) override
| Read a given number of bytes from the savegame. More...
void | Reset () override
| Reset this filter to read from the beginning of the file.
Public Member Functions inherited from LoadFilter
| LoadFilter (std::shared_ptr< LoadFilter > chain)
| Initialise this filter. More...
virtual | ~LoadFilter ()
| Make sure the writers are properly closed.

## Static Public Member Functions
static ssize_t | TransferOutMemCopy (PacketReader *destination, const char *source, size_t amount)
| Simple wrapper around fwrite to be able to pass it to Packet's TransferOut. More...

## Data Fields
std::vector< byte * > | 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.
Data Fields inherited from LoadFilter
std::shared_ptr< LoadFilter > | chain
| Chained to the (savegame) filters.

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

## Member Function Documentation

## ◆ AddPacket()

void PacketReader::AddPacket | ( | Packet & | p | ) |
| inline

Add a packet to this buffer.

Parameters

  p | The packet to add.

Definition at line 84 of file network_client.cpp.

References CHUNK, Packet::RemainingBytesToTransfer(), TransferOutMemCopy(), and Packet::TransferOutWithLimit().

## ◆ Read()

size_t PacketReader::Read | ( | byte * | buf,
|  | size_t | len
| ) |  |
| inlineoverridevirtual

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

References CHUNK.

## ◆ TransferOutMemCopy()

static ssize_t PacketReader::TransferOutMemCopy | ( | PacketReader * | destination,
|  | const char * | source,
|  | size_t | amount
| ) |  |
| inlinestatic

Simple wrapper around fwrite to be able to pass it to Packet's TransferOut.

Parameters

  destination | The reader to add the data to.
  source | The buffer to read data from.
  amount | The number of bytes to copy.

Returns
  The number of bytes that were copied.

Definition at line 72 of file network_client.cpp.

References buf, and written_bytes.

Referenced by AddPacket().

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

- src/network/network_client.cpp