MCPcopy Create free account
hub / github.com/BirolLab/abyss / receiveControlMessage

Method receiveControlMessage

Parallel/CommLayer.cpp:179–197  ·  view source on GitHub ↗

Receive a control message. */

Source from the content-addressed store, hash-verified

177
178/** Receive a control message. */
179ControlMessage CommLayer::receiveControlMessage()
180{
181 int flag;
182 MPI_Status status;
183 MPI_Test(&m_request, &flag, &status);
184 assert(flag);
185 assert((APMessage)status.MPI_TAG == APM_CONTROL);
186
187 int count;
188 MPI_Get_count(&status, MPI_BYTE, &count);
189 ControlMessage msg;
190 assert(count == sizeof msg);
191 memcpy(&msg, m_rxBuffer, sizeof msg);
192 assert(m_request == MPI_REQUEST_NULL);
193 MPI_Irecv(m_rxBuffer, RX_BUFSIZE,
194 MPI_BYTE, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD,
195 &m_request);
196 return msg;
197}
198
199/** Send a buffered collection of messages. */
200void CommLayer::sendBufferedMessage(int destID,

Callers 1

parseControlMessageMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected