Matthew, Direct buffers are only efficient if they are access from user space infrequently and write either once in a big chunk or in multiple times.
For HTTP requests, we parse the content byte by byte or token by token, so if it were a direct buffer that would be expensive. With the indirect buffer, it is copied over to user space in a chunk and then we can parse it cheaply (also using array accessors rather than get methods). For HTTP responses, we generate the content initially header by header, so there are multiple accesses there as well, so it is too costly to make direct. Also if you have SSL involved, direct buffers are really bad as you have to pull it back to user space to encrypt. If we are sending static content, that will come as either a file mapped buffer or sometimes as a direct buffer, so that will be efficiently sent then. cheers On 18 September 2013 18:47, Matthew Painter <[email protected]>wrote: > Hi Greg, > > What were the reasons for taking out the direct buffer support? Buggy JDK > code? > > Thanks :) > > Matt > > > On Mon, Sep 16, 2013 at 1:47 AM, Greg Wilkins <[email protected]> wrote: > >> >> Nicholas, >> >> currently Jetty-9 does not use direct buffers for protocol for HTTP, but >> I just noticed that SPDY is using direct buffers. >> >> However this should mostly be transparent to users, why do you wish to >> control it? >> >> Note that the DefaultServlet has a useFileMappedBuffer option that can be >> set as a init param and does have a more visible effect (of locking files). >> >> cheers >> >> >> >> On 14 September 2013 06:01, Nicholas Lun <[email protected]> wrote: >> >>> Hello, >>> >>> In Jetty 8 you could disable the use of Direct Buffers for NIO connectors >>> via the setUseDirectBuffers(bool) method in the AbstractNIOConnector >>> class. >>> Is there a way to do this in Jetty 9? >>> >>> >>> >>> -- >>> View this message in context: >>> http://jetty.4.x6.nabble.com/Disabling-Direct-Buffers-in-Jetty-9-tp4961201.html >>> Sent from the Jetty User mailing list archive at Nabble.com. >>> _______________________________________________ >>> jetty-users mailing list >>> [email protected] >>> https://dev.eclipse.org/mailman/listinfo/jetty-users >>> >> >> >> >> -- >> Greg Wilkins <[email protected]> >> http://www.webtide.com >> Developer advice and support from the Jetty & CometD experts. >> Intalio, the modern way to build business applications. >> >> _______________________________________________ >> jetty-users mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/jetty-users >> >> > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users > > -- Greg Wilkins <[email protected]> http://www.webtide.com Developer advice and support from the Jetty & CometD experts. Intalio, the modern way to build business applications.
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
