you can send messages of arbitrary length. Messages are split in
as many sends as needed. The kSendBuffer and kRecvBuffer sizes are
the buffer sizes used by the TCP/IP stack when sending messages.
So if you send a TMessage of 1 MB and kSendBuffer is 50K the ROOT
will send the TMessage in 20 messages of 50K. This is completely
transparent on the user level. Just do socket->Send(mess). All
splitting and assembling is done by ROOT. When sending large messages
you benefit from a large kSendBuffer (+/- 53K is OS upper limit).
You can specify 65K, and with TSocket::GetOption you can see the
actual upper limit accepted by the OS (see $ROOTSYS/tutorials/hserv.C).
Cheers, Fons.
Judith Katzy wrote:
>
> hi,
>
> I'd like to send a TMessage object with a size > 65535 using the
> TSocket::Send() method.
> I saw that the TSocket options kSendBuffer and kRecvBuffer are
> 65535/UShort. Is it possible to change this? (if yes, how could I do
> it?)
> Or do I have find a work around, e.g. splitting my message into smaller
> pieces?
>
> cheers,
> Judith
-- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland Phone: +41 22 7679248 E-Mail: Fons.Rademakers@cern.ch Fax: +41 22 7677910