Skip to content

Commit 755314e

Browse files
committed
Generated from commit 4f70dfd0a0e29722a5182ce7dd75d24298f133b9
1 parent 5bf97d4 commit 755314e

File tree

5 files changed

+27
-38
lines changed

5 files changed

+27
-38
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.11)
22

3-
project(e VERSION 3.3.4)
3+
project(e VERSION 3.3.5)
44

55
# Avoid warning about DOWNLOAD_EXTRACT_TIMESTAMP in CMake 3.24:
66
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")

include/E/E_System.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class System : private Log {
6868
timerQueue;
6969
std::unordered_map<UUID, TimerContainer> activeTimer;
7070
std::unordered_set<UUID> activeUUID;
71+
UUID currentUUID = 0;
7172

7273
UUID allocateUUID();
7374
bool deallocateUUID(UUID uuid);

include/E/Networking/E_Packet.hpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,8 @@ class NetworkSystem;
2323
*/
2424
class Packet : public Module::MessageBase {
2525
private:
26-
Packet(UUID uuid, size_t maxSize);
26+
Packet(UUID uuid, size_t size);
2727
std::vector<char> buffer;
28-
size_t bufferSize;
29-
size_t dataSize;
3028

3129
UUID packetID;
3230

@@ -61,9 +59,9 @@ class Packet : public Module::MessageBase {
6159
Packet &operator=(Packet &&other) noexcept;
6260

6361
/**
64-
* @param maxSize Maximum packet size.
62+
* @param size Packet size.
6563
*/
66-
Packet(size_t maxSize);
64+
Packet(size_t size);
6765

6866
~Packet() override;
6967

@@ -92,7 +90,7 @@ class Packet : public Module::MessageBase {
9290

9391
/**
9492
* @brief Change the size of this Packet
95-
* The size cannot be larger than the internal buffer.
93+
* The size can be larger than the internal buffer.
9694
* @param size New size.
9795
* @return Actual changed size.
9896
*/

src/E/E_System.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,14 @@ UUID System::sendMessage(const ModuleID from, const ModuleID to,
4343
return uuid;
4444
}
4545
UUID System::allocateUUID() {
46-
UUID startID = currentID;
47-
do {
48-
UUID candidate = currentID++;
49-
if (activeUUID.find(candidate) == activeUUID.end()) {
50-
activeUUID.insert(candidate);
51-
return candidate;
52-
}
53-
} while (startID != currentID);
54-
assert(0);
55-
return 0;
46+
47+
UUID candidate = ++currentUUID;
48+
if (activeUUID.find(candidate) == activeUUID.end()) {
49+
activeUUID.insert(candidate);
50+
return candidate;
51+
} else {
52+
assert(0);
53+
}
5654
}
5755

5856
bool System::deallocateUUID(UUID candidate) {

src/Networking/E_Packet.cpp

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,53 +27,45 @@ UUID Packet::allocatePacketUUID() {
2727
}
2828
void Packet::freePacketUUID(UUID uuid) { packetUUIDSet.erase(uuid); }
2929

30-
Packet::Packet(UUID uuid, size_t maxSize)
31-
: buffer(maxSize), bufferSize(maxSize), dataSize(maxSize), packetID(uuid) {
30+
Packet::Packet(UUID uuid, size_t size) : buffer(size), packetID(uuid) {
3231

3332
std::fill(this->buffer.begin(), this->buffer.end(), 0);
3433
}
3534

3635
Packet::Packet(const Packet &other)
37-
: buffer(other.buffer), bufferSize(other.bufferSize),
38-
dataSize(other.dataSize), packetID(other.packetID) {}
36+
: buffer(other.buffer), packetID(other.packetID) {}
3937

4038
Packet::Packet(Packet &&other) noexcept
41-
: buffer(std::move(other.buffer)), bufferSize(other.bufferSize),
42-
dataSize(other.dataSize), packetID(other.packetID) {
43-
other.dataSize = 0;
39+
: buffer(std::move(other.buffer)), packetID(other.packetID) {
40+
other.buffer.clear();
4441
}
4542

4643
Packet &Packet::operator=(const Packet &other) {
4744
buffer = other.buffer;
48-
bufferSize = other.bufferSize;
49-
dataSize = other.dataSize;
5045
packetID = other.packetID;
5146
return *this;
5247
}
5348

5449
Packet &Packet::operator=(Packet &&other) noexcept {
5550
buffer = std::move(other.buffer);
56-
bufferSize = std::move(other.bufferSize);
57-
dataSize = std::move(other.dataSize);
5851
packetID = std::move(other.packetID);
5952
return *this;
6053
}
6154

62-
Packet::Packet(size_t maxSize) : Packet(allocatePacketUUID(), maxSize) {}
55+
Packet::Packet(size_t size) : Packet(allocatePacketUUID(), size) {}
6356

6457
Packet::~Packet() { freePacketUUID(this->packetID); }
6558

6659
Packet Packet::clone() const {
6760

68-
Packet pkt(this->bufferSize);
69-
pkt.setSize(this->dataSize);
61+
Packet pkt(this->buffer.size());
7062
pkt.buffer = this->buffer;
7163
return pkt;
7264
}
7365

7466
size_t Packet::writeData(size_t offset, const void *data, size_t length) {
75-
size_t actual_offset = std::min(offset, dataSize);
76-
size_t actual_write = std::min(length, dataSize - actual_offset);
67+
size_t actual_offset = std::min(offset, buffer.size());
68+
size_t actual_write = std::min(length, buffer.size() - actual_offset);
7769

7870
if (actual_write == 0)
7971
return 0;
@@ -83,8 +75,8 @@ size_t Packet::writeData(size_t offset, const void *data, size_t length) {
8375
return actual_write;
8476
}
8577
size_t Packet::readData(size_t offset, void *data, size_t length) const {
86-
size_t actual_offset = std::min(offset, dataSize);
87-
size_t actual_read = std::min(length, dataSize - actual_offset);
78+
size_t actual_offset = std::min(offset, buffer.size());
79+
size_t actual_read = std::min(length, buffer.size() - actual_offset);
8880

8981
if (actual_read == 0)
9082
return 0;
@@ -94,10 +86,10 @@ size_t Packet::readData(size_t offset, void *data, size_t length) const {
9486
return actual_read;
9587
}
9688
size_t Packet::setSize(size_t size) {
97-
this->dataSize = std::min(size, this->bufferSize);
98-
return this->dataSize;
89+
buffer.resize(size);
90+
return buffer.size();
9991
}
100-
size_t Packet::getSize() const { return this->dataSize; }
92+
size_t Packet::getSize() const { return buffer.size(); }
10193

10294
UUID Packet::getUUID() const { return this->packetID; }
10395

0 commit comments

Comments
 (0)