[omniORB] bulk data transfer of files

Smith, Norman Norman_Smith@bmc.com
Mon, 12 Jul 1999 13:37:04 -0500


Have a question about sending bulk data transfer via omniORB. I want to send
large chunks of data between processes, using omniORB as the IPC mechanism.
I've successfully implemented a test case using the array datatype, but read
the postings in this forum regarding arrays being marshalled item-by-item,
and the efficiency of using sequences instead.  However, the sequence data
type doesn't seem to have any interface for pushing data into it except on
an item-by-item basis, and it seems rather inefficient to transfer the
contents of a 64K buffer (i.e. an array) item-by-item into a sequence, then
pass the sequence to the ORB.
 
I've thought about creating a "sequence of array" datatype (i.e.
sequence<char[65535]>), but I would think the ORB would be smart enough to
marshall each member of the sequence according to its declared type (in this
case an array of char's) and I'm back where I started with the array being
marshalled character-by-character.
 
Question is this: what is the best way to perform this bulk transfer? Will
the above sequence declaration marshall the entire array at once? Should I
just stick to arrays, or is there some alternative that I'm not seeing?