Using the RemotingProvider with enableBuffer set to 10 and maxRetries to some number greater than 1, is there a way to access the batched calls after a failed response is received, before retrying the request?

Here is my problem: A bunch of calls are batched and sent to the server. Some complete but some time out. The response never makes it back in time, and the whole batched request is retried, therefore duplicating the successful calls.

Assuming the server-side stack could execute the requests and return the responses for the successful ones, and some error or code for the ones that didn't complete within some reasonably adequate timeframe, a partially successful response would be received by the client.

This is what we're trying to do: We'd like to retry only the failed transactions. We wouldn't want to do this in every individual callback. So, when the data event of the RemotingProvider fires, is there a good way to access the transaction? We could then determine whether this individual transaction succeeded. But, if it failed, how could we prevent the callback from being called? And then, how would we add the transaction back to Ext.Direct and/or the provider?

Here's a different scenario, and a related question: Is there a way to access the batched calls before they are sent to the server? We have a large data structure that the user can edit. Because it's so big, we have an autosave function in place. The user can also manually save. Before sending the batched calls to the server, we'd like to examine them and delete any duplicate ones, so we're not sending the exact same large data structure more than once. Can we, for example, manipulate the callBuffer member in the beforecall event? Is there a better way? It seems the beforecall event is fired for every transaction -- is there an event before the batch is sent?