[Spread-users] increasing spread socket buffer

Jonathan Stanton jonathan at cnds.jhu.edu
Thu Feb 21 13:19:42 EST 2008

You can find longer answers in the spread-users archives, but the short version is Yes, you can change the buffer 
size. There are two buffers. 

1) socket buffer is the operating system buffer to store data for a particular socket before it delivered to the 
application or network (depending on if you are receiving or sending). That buffer size is raised up to as large as 
200kbytes in the Sess_accept() function in session.c. Normally there is no reason to change this as if it gets 
full, the client and daemon correctly handle the send/receive error and will retry the send when there is room in 
the OS buffer.

2) the daemon message buffer is defined in the 
daemon/spread_params.h file. You want to raise the value 
of the MAX_SESSION_MESSAGES define to a larger value. This is how many messages the daemon will store "Per Client 
Connection" before cutting the client off by disconnecting them. 

Most likely if your receivers are getting cut off, this is the limit you want to raise. You will need to recompile 
the daemon after changing this (but not the client libraries)



On Thu, Feb 21, 2008 at 08:54:51AM +0100, drago.krznaric at se.transport.bombardier.com wrote:
> I have a case where a sender of a certain message works a bit faster than
> the receiver. This causes spread to close the connection towards the 
> receiver,
> probably because a write fails due to a full socket buffer. Since this 
> happens
> only at startup of the programs and things work all right later on, I'm 
> woundering
> whether there is an easy way to set up the buffer size of a spread 
> connection?
> Cheers,
> Drago 
> _______________________________________________________________________________________________________________ 
> This e-mail communication (and any attachment/s) may contain confidential 
> or privileged information and is intended only for the individual(s) or 
> entity named above and to others who have been specifically authorized to 
> receive it. If you are not the intended recipient, please do not read, 
> copy, use or disclose the contents of this communication to others. Please 
> notify the sender that you have received this e-mail in error by reply 
> e-mail, and delete the e-mail subsequently. Please note that in order to 
> protect the security of our information systems an AntiSPAM solution is in 
> use and will browse through incoming emails. 
> Thank you. 
> _________________________________________________________________________________________________________________ 
> Ce message (ainsi que le(s) fichier(s)), transmis par courriel, peut 
> contenir des renseignements confidentiels ou protégés et est destiné à 
> l?usage exclusif du destinataire ci-dessus. Toute autre personne est, par 
> les présentes, avisée qu?il est strictement interdit de le diffuser, le 
> distribuer ou le reproduire. Si vous l?avez reçu par inadvertance, 
> veuillez nous en aviser et détruire ce message. Veuillez prendre note 
> qu'une solution antipollupostage (AntiSPAM) est utilisée afin d'assurer la 
> sécurité de nos systèmes d'information et qu'elle furètera les courriels 
> entrants.
> Merci. 
> _________________________________________________________________________________________________________________ 

> _______________________________________________
> Spread-users mailing list
> Spread-users at lists.spread.org
> http://lists.spread.org/mailman/listinfo/spread-users

Jonathan R. Stanton         jonathan at cs.jhu.edu
Dept. of Computer Science   
Johns Hopkins University    

More information about the Spread-users mailing list