|
From: <php...@li...> - 2009-08-12 18:13:01
|
Hi,
older versions used to support unix-domain socket communication on certain
operating systems. Since version 5.4.4.2 this path is broken:
>From PROTOCOL.TXT:
*" It is possible to send the header even though the connection has
already been established. The bridge will ignore the header if the
second byte is not 0xFF."
*
However, 0xFF seems be uses to implement a short path for the
Servlet/JEE/Tomcat container now (btw: the buf[1] should really be buf[c+1],
but that doesn't matter, as c is guaranteed to be 0 at the beginning of the
communication). In order to support unix domain socket communicationn again,
we need to add a method "parseHeader()" to the IDocHandler interface, so
that we can move the code implementation below to the servlet context and
use the old code implementation from the cvs in the standalone context. Oh,
and PROTOCOL.TXT should document this properly.
235 case 0177: if(in_dquote) {APPEND(ch); break;}
236 // the header used to be binary encoded
238 bridge.out.write(0); bridge.out.flush(); // dummy write:
avoid ack delay
239 int len =(0xFF&buf[c+2]) | (0xFF00&(buf[c+3]<<8));
244 byte shortPathHeader = (byte) (0xFF&(buf[1]));
245 if(shortPathHeader != (byte) 0xFF) // short path: no
previous PUT request
|