diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-02-12 20:23:31 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-02-12 20:23:31 +0100 |
commit | 96191b9ce259df7a234c55d06b97bb5b8ee0848f (patch) | |
tree | 226062b8dc70e02a25714b32ac64e51be9b6eb37 | |
parent | e88a88476cc5e22adecda14a3eeacbcfe4eeb197 (diff) |
Core/Clubs: Reserve memory for entire member array in club::v1::GetMembersResponse
-rw-r--r-- | src/server/game/Services/ClubService.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/game/Services/ClubService.cpp b/src/server/game/Services/ClubService.cpp index 99df493c2c3..4b4156a7513 100644 --- a/src/server/game/Services/ClubService.cpp +++ b/src/server/game/Services/ClubService.cpp @@ -44,7 +44,7 @@ uint32 ClubService::HandleGetClubType(club::v1::GetClubTypeRequest const* reques uint32 ClubService::HandleSubscribe(club::v1::SubscribeRequest const* /*request*/, NoData* /*response*/, std::function<void(ServiceBase*, uint32, google::protobuf::Message const*)>& /*continuation*/) { - Player* player = _session->GetPlayer(); + Player const* player = _session->GetPlayer(); if (!player) return ERROR_INTERNAL; @@ -131,7 +131,7 @@ uint32 ClubService::HandleSubscribe(club::v1::SubscribeRequest const* /*request* uint32 ClubService::HandleGetMembers(club::v1::GetMembersRequest const* /*request*/, club::v1::GetMembersResponse* response, std::function<void(ServiceBase*, uint32, google::protobuf::Message const*)>& /*continuation*/) { - Player* player = _session->GetPlayer(); + Player const* player = _session->GetPlayer(); if (!player) return ERROR_INTERNAL; @@ -141,6 +141,8 @@ uint32 ClubService::HandleGetMembers(club::v1::GetMembersRequest const* /*reques if (!guild) return ERROR_CLUB_NO_CLUB; + response->mutable_member()->Reserve(guild->GetMembersCount()); + for (auto const& [guid, member] : guild->GetMembers()) { club::v1::Member* clubMember = response->add_member(); @@ -168,7 +170,7 @@ uint32 ClubService::HandleGetMembers(club::v1::GetMembersRequest const* /*reques uint32 ClubService::HandleGetStreams(club::v1::GetStreamsRequest const* /*request*/, club::v1::GetStreamsResponse* response, std::function<void(ServiceBase*, uint32, google::protobuf::Message const*)>& /*continuation*/) { - Player* player = _session->GetPlayer(); + Player const* player = _session->GetPlayer(); if (!player) return ERROR_INTERNAL; |