20 Jan 2012 23:35
Re: more convenient :nodeay option - :if-supported
Anton, I committed your patch to usocket's trunk, thanks a lot! -Hans On Fri, Jan 20, 2012 at 11:23 PM, Anton Vodonosov <avodonosov@...> wrote: > Hello. > > Today socket-connect option :nodelay if specified accepts T or NIL. And whatever value is passed, > socket-connect signals the UNSUPPORTED exception on implementations where it is not > possible to control the socket no-delay property. > > This dooms any usocket-using code which wishes to use :nodelay to be broken on > implementations where it is not implemented (e.g. CLISP, CMUCL, ...). > > I think in most cases users would prefer "no delay if possible, otherwise just work as you can" > behavior. For example drakma. On the implementations where it is possible, it will have > maximum performance by specifying no-delay. But on other implementations it is desirable > to work on usual socket. > > To support this in backward-compatible fashion I propose to introduce another value > for the :nodelay option. :nodelay :if-supported. The meaning is obvious. > > Please see the patch attached. It is tested (by changing drakma to use :nodelay :if-supported) > on all the implementations available to me: Allegro, CCL, CLISP, SBCL. > > Can't test on ECL and ABCL because of other obstacles (the last public release of ECL > can't comile babel, and ABCL can't load cffi).(Continue reading)
RSS Feed