C: int bufid = pvm_initsend(int encoding)
M: bufid = pvm_initsend(encoding)
The routine pvm_initsend clears the send buffer and prepares it for
packing a new message. The encoding scheme used for the packing is set by
encoding. The buffer identifier is returned in bufid.
The encoding options are:
- 0 (PvmDataDefault) XDR encoding is used by default
because PVM can not know if the user is going to add a
heterogeneous machine before this message is sent. If the
user knows that the next message will only be sent to a
machine that understands the native format, then he can use
PvmDataRaw encoding and save on encoding costs.
- 1 (PvmDataRaw) no encoding is done. Messages are sent
in there original format. If the receiving process can not
read this format, then it will return an error during
unpacking.
- 2 (PvmDataInPlace) data left in place. The message
buffer only contains the sizes and pointers to the items to
be sent. When pvm_send is called the items are copied
directly out of the user's memory. This option decreases the
number of times a message is copied at the expense of
requiring the user to not modify the items between the time
they are packed and the time they are sent.
Rene Fink
2006-04-24