directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Boreham (JIRA)" <>
Subject [jira] Commented: (DIR-108) Server PDU are splitted in small chunks
Date Tue, 08 Mar 2005 23:49:53 GMT
     [ ]
David Boreham commented on DIR-108:

I've written and re-written this code in 
other products. Some random thoughts:

Encode the bits in-place. That is, where
you have an entry for a search result
in your hand, go call whatever code generates the BER, right there. Accumulate the BER bits
in a buffer, do not attempt
to send immediately, unless the buffer overflows. Do not store some intermediate symbolic
representation of the data : just make the BER. This is safe to do because you are always
generating BER left to right,
and have no need to retrace your steps.

Flush the buffer (only) every time you send a
response PDU (search result done in the
case of a search). This ensures that you
coalesce a search entry PDU with the search result done PDU into one TCP segment.
Doing this can deliver a significant 
performance benefit.

In some client/server scenarios you will
find it beneficial to disable nagle on the 
TCP session.

Don't worry about UDP : nobody uses it.

> Server PDU are splitted in small chunks
> ---------------------------------------
>          Key: DIR-108
>          URL:
>      Project: Directory
>         Type: Improvement
>     Reporter: Emmanuel Lecharny
>     Priority: Minor
>  Attachments: mina.diff
> PDU that are created by ApacheDS server are sent back in small chunk. A lot of IP packets
are necessary to reconstruct the LDAP message : typically, each TLV is sent as a TCP packet.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
If you want more information on JIRA, or have a bug to report see:

View raw message