bugfix
This commit is contained in:
@@ -188,15 +188,27 @@ void ClientManager::processUsersListResponsePacket(UsersListResponsePacket users
|
|||||||
else
|
else
|
||||||
userNames = std::unordered_map<Snowflake, std::string>();
|
userNames = std::unordered_map<Snowflake, std::string>();
|
||||||
|
|
||||||
auto promise = std::promise<std::unordered_map<Snowflake, std::string>>();
|
auto userNamesPromise = std::promise<std::unordered_map<Snowflake, std::string>>();
|
||||||
userNames_ = promise.get_future();
|
userNames_ = userNamesPromise.get_future();
|
||||||
|
|
||||||
|
std::unordered_map<std::string, Snowflake> findUserId;
|
||||||
|
|
||||||
|
if (findUserId_.valid() && findUserId_.wait_for(std::chrono::seconds(0)) == std::future_status::ready)
|
||||||
|
findUserId = findUserId_.get();
|
||||||
|
else
|
||||||
|
findUserId = std::unordered_map<std::string, Snowflake>();
|
||||||
|
|
||||||
|
auto findUserIdPromise = std::promise<std::unordered_map<std::string, Snowflake>>();
|
||||||
|
findUserId_ = findUserIdPromise.get_future();
|
||||||
|
|
||||||
Snowflake userId;
|
Snowflake userId;
|
||||||
::memcpy(&userId.snowflake, usersListResponsePacket.__data.userId, sizeof(Snowflake));
|
::memcpy(&userId.snowflake, usersListResponsePacket.__data.userId, sizeof(Snowflake));
|
||||||
std::string userName((char*)usersListResponsePacket.__data.name, usersListResponsePacket.__data.packetLength - (sizeof(std::uint16_t) * 7));
|
std::string userName((char*)usersListResponsePacket.__data.name, usersListResponsePacket.__data.packetLength - (sizeof(std::uint16_t) * 7));
|
||||||
userNames[userId] = userName;
|
userNames[userId] = userName;
|
||||||
|
findUserId[userName] = userId;
|
||||||
|
|
||||||
promise.set_value(userNames);
|
userNamesPromise.set_value(userNames);
|
||||||
|
findUserIdPromise.set_value(findUserId);
|
||||||
|
|
||||||
spdlog::info("{}", userName);
|
spdlog::info("{}", userName);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user