mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-24 09:01:29 +00:00
world/nats_message now properly uses byte for serializing
This commit is contained in:
parent
122f1cd02d
commit
483ca9996b
@ -165,16 +165,18 @@ void NatsManager::SendAdminMessage(std::string adminMessage, const char* reply)
|
||||
eqproto::ChannelMessage* message = google::protobuf::Arena::CreateMessage<eqproto::ChannelMessage>(&the_arena);
|
||||
|
||||
message->set_message(adminMessage.c_str());
|
||||
std::string pubMessage;
|
||||
if (!message->SerializeToString(&pubMessage)) {
|
||||
Log(Logs::General, Logs::NATS, "global.admin_message.out: failed to serialize message to string");
|
||||
|
||||
size_t event_size = message->ByteSizeLong();
|
||||
void *event_buffer = malloc(event_size);
|
||||
if (!message->SerializeToArray(event_buffer, event_size)) {
|
||||
Log(Logs::General, Logs::NATS, "global.admin_message.out: failed to serialize message");
|
||||
return;
|
||||
}
|
||||
|
||||
if (reply && strlen(reply) > 0)
|
||||
s = natsConnection_Publish(conn, reply, (const void*)pubMessage.c_str(), pubMessage.length());
|
||||
s = natsConnection_Publish(conn, reply, event_buffer, event_size);
|
||||
else
|
||||
s = natsConnection_Publish(conn, "global.admin_message.out", (const void*)pubMessage.c_str(), pubMessage.length());
|
||||
s = natsConnection_Publish(conn, "global.admin_message.out", event_buffer, event_size);
|
||||
|
||||
if (s != NATS_OK) {
|
||||
Log(Logs::General, Logs::NATS, "global.admin_message.out failed: %s", nats_GetLastError(&s));
|
||||
@ -193,16 +195,18 @@ void NatsManager::SendCommandMessage(eqproto::CommandMessage* message, const cha
|
||||
message->set_result("Failed to parse command.");
|
||||
|
||||
|
||||
std::string pubMessage;
|
||||
if (!message->SerializeToString(&pubMessage)) {
|
||||
Log(Logs::General, Logs::NATS, "world.command_message.out: failed to serialize message to string");
|
||||
size_t event_size = message->ByteSizeLong();
|
||||
void *event_buffer = malloc(event_size);
|
||||
if (!message->SerializeToArray(event_buffer, event_size)) {
|
||||
Log(Logs::General, Logs::NATS, "global.admin_message.out: failed to serialize message");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (reply && strlen(reply) > 0)
|
||||
s = natsConnection_Publish(conn, reply, (const void*)pubMessage.c_str(), pubMessage.length());
|
||||
s = natsConnection_Publish(conn, reply, event_buffer, event_size);
|
||||
else
|
||||
s = natsConnection_Publish(conn, "world.command_message.out", (const void*)pubMessage.c_str(), pubMessage.length());
|
||||
s = natsConnection_Publish(conn, "world.command_message.out", event_buffer, event_size);
|
||||
|
||||
if (s != NATS_OK) {
|
||||
Log(Logs::General, Logs::NATS, "world.command_message.out failed: %s");
|
||||
@ -217,8 +221,6 @@ void NatsManager::GetCommandMessage(eqproto::CommandMessage* message, const char
|
||||
if (!connect())
|
||||
return;
|
||||
|
||||
std::string pubMessage;
|
||||
|
||||
if (message->command().compare("who") == 0) {
|
||||
message->set_result(client_list.GetWhoAll());
|
||||
SendCommandMessage(message, reply);
|
||||
@ -312,17 +314,18 @@ void NatsManager::SendChannelMessage(eqproto::ChannelMessage* message, const cha
|
||||
if (!connect())
|
||||
return;
|
||||
|
||||
std::string pubMessage;
|
||||
if (!message->SerializeToString(&pubMessage)) {
|
||||
Log(Logs::General, Logs::NATS, "world.channel_message.out: failed to serialize message to string");
|
||||
size_t event_size = message->ByteSizeLong();
|
||||
void *event_buffer = malloc(event_size);
|
||||
if (!message->SerializeToArray(event_buffer, event_size)) {
|
||||
Log(Logs::General, Logs::NATS, "global.admin_message.out: failed to serialize message");
|
||||
return;
|
||||
}
|
||||
|
||||
if (reply) {
|
||||
s = natsConnection_Publish(conn, reply, (const void*)pubMessage.c_str(), pubMessage.length());
|
||||
s = natsConnection_Publish(conn, reply, event_buffer, event_size);
|
||||
}
|
||||
else {
|
||||
s = natsConnection_Publish(conn, "world.channel_message.out", (const void*)pubMessage.c_str(), pubMessage.length());
|
||||
s = natsConnection_Publish(conn, "world.channel_message.out", event_buffer, event_size);
|
||||
}
|
||||
|
||||
if (s != NATS_OK) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user