A method of batching multiple sets of responses on a server and sending
the responses to a client in a single batch (i.e., a "chained" or
"packed" batch). The sets of responses may be each be obfuscated and/or
compressed. Once the batch is received by the client, each set is
processed individually. The client may be configured to communicate the
size of an uncompressed set of responses that it can handle. The server
may use this information to create sets of responses that are the correct
size, and may or may not compress the sets of responses. The server may
chain the sets of responses and may continue to chain sets, compressed or
not, until the server's buffer is full or close to full. The chained set
of responses may then be sent to the client, and may process each of the
sets of responses individually.