A Glacier2 router can forward requests in buffered or unbuffered mode. In addition, the buffering mode can be set independently for each direction (client-to-server and server-to-client).
The configuration properties Glacier2.Client.Buffered
and Glacier2.Server.Buffered
govern the buffering behavior. The former affects buffering of requests from clients to servers, and the latter affects buffering of requests from servers to clients. If a property is not specified, the default value is 1
, which enables buffering. A property value of 0
selects the unbuffered mode.
The primary difference between the two modes is in the way requests are forwarded:
- Buffered
The router queues incoming requests and outgoing replies for delivery in a separate thread.
- Unbuffered
The router forwards requests in the same thread that received the request.
Although unbuffered mode consumes fewer resources than buffered mode, certain features such as request overriding and request batching are available only in buffered mode.