Writing a savegame directly to a number of packets. More...
Public Member Functions | |
PacketWriter (ServerNetworkGameSocketHandler *cs) | |
Create the packet writer. | |
~PacketWriter () | |
Make sure everything is cleaned up. | |
void | AppendQueue () |
Append the current packet to the queue. | |
void | Write (byte *buf, size_t size) |
Write a given number of bytes into the savegame. | |
void | Finish () |
Prepare everything to finish writing the savegame. | |
Data Fields | |
ServerNetworkGameSocketHandler * | cs |
Socket we are associated with. | |
Packet * | current |
The packet we're currently writing to. | |
size_t | total_size |
Total size of the compressed savegame. |
Writing a savegame directly to a number of packets.
Definition at line 55 of file network_server.cpp.
PacketWriter::PacketWriter | ( | ServerNetworkGameSocketHandler * | cs | ) | [inline] |
Create the packet writer.
cs | The socket handler we're making the packets for. |
Definition at line 64 of file network_server.cpp.
References ServerNetworkGameSocketHandler::savegame_mutex.
PacketWriter::~PacketWriter | ( | ) | [inline] |
Make sure everything is cleaned up.
Definition at line 70 of file network_server.cpp.
References ThreadMutex::BeginCritical(), ThreadMutex::EndCritical(), ServerNetworkGameSocketHandler::savegame, and ServerNetworkGameSocketHandler::savegame_mutex.
void PacketWriter::AppendQueue | ( | ) | [inline] |
Append the current packet to the queue.
Definition at line 86 of file network_server.cpp.
References Packet::next, and ServerNetworkGameSocketHandler::savegame_packets.
void PacketWriter::Write | ( | byte * | buf, | |
size_t | len | |||
) | [inline, virtual] |
Write a given number of bytes into the savegame.
buf | The bytes to write. | |
len | The number of bytes to write. |
Implements SaveFilter.
Definition at line 99 of file network_server.cpp.
References ThreadMutex::BeginCritical(), Packet::buffer, ThreadMutex::EndCritical(), min(), PACKET_SERVER_MAP_DATA, ServerNetworkGameSocketHandler::savegame_mutex, SEND_MTU, Packet::size, and SlError().