18 MPI_Bcast(&cmd, 1, MPI_INT, 0,comm->comm);
36 MPI_Bcast(&length, 1, MPI_INT, 0,comm->comm);
37 char* remote =
new char[length];
38 MPI_Bcast(remote, length, MPI_CHAR, 0,comm->comm);
39 terminate = !strcmp(remote, name.c_str());
40 yCDebug(
MPI_CARRIER,
"[MpiBcastStream @ %s] Got disconnect : %s => %d", name.c_str(), remote, terminate);
42 comm->disconnect(terminate);
62 MPI_Bcast(&size, 1, MPI_INT, 0,comm->comm);
68 if ((
size_t)size == b.
length()) {
71 MPI_Bcast(b.
get(), size, MPI_BYTE, 0, comm->comm);
76 readBuffer =
new char[size];
77 MPI_Bcast(readBuffer, size, MPI_BYTE, 0, comm->comm);
86 if (take>(
int)b.
length()) {
89 memcpy(b.
get(),readBuffer+readAt,take);
107 MPI_Bcast(&size, 1, MPI_INT, 0, comm->comm );
108 MPI_Bcast((
void*)b.
get(), size, MPI_BYTE, 0, comm->comm );
const yarp::os::LogComponent & MPI_CARRIER()
ssize_t read(yarp::os::Bytes &b) override=0
Read and return a single byte.
void write(const yarp::os::Bytes &b) override=0
A simple abstraction for a block of bytes.
#define yCDebug(component,...)
An interface to the operating system, including Port based communication.