MCPcopy Create free account
hub / github.com/diasurgical/devilution / SNetSendMessage

Method SNetSendMessage

SourceX/dvlnet/base.cpp:112–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110}
111
112bool base::SNetSendMessage(int playerID, void *data, unsigned int size)
113{
114 if (playerID != SNPLAYER_ALL && playerID != SNPLAYER_OTHERS
115 && (playerID < 0 || playerID >= MAX_PLRS))
116 abort();
117 auto raw_message = reinterpret_cast<unsigned char *>(data);
118 buffer_t message(raw_message, raw_message + size);
119 if (playerID == plr_self || playerID == SNPLAYER_ALL)
120 message_queue.push_back(message_t(plr_self, message));
121 plr_t dest;
122 if (playerID == SNPLAYER_ALL || playerID == SNPLAYER_OTHERS)
123 dest = PLR_BROADCAST;
124 else
125 dest = playerID;
126 if (dest != plr_self) {
127 auto pkt = pktfty->make_packet<PT_MESSAGE>(plr_self, dest, message);
128 send(*pkt);
129 }
130 return true;
131}
132
133bool base::SNetReceiveTurns(char **data, unsigned int *size, DWORD *status)
134{

Callers 1

SNetSendMessageFunction · 0.45

Calls 3

message_tClass · 0.85
push_backMethod · 0.80
sendFunction · 0.50

Tested by

no test coverage detected