private void Dispose(Exception error)
{
ArrayList requests = null;
lock(requestMap.SyncRoot)
{
if(this.error == null)
{
this.error = error;
requests = new ArrayList(requestMap.Values);
requestMap.Clear();
}
}
if(requests != null)
{
foreach(FutureResponse future in requests)
{
BrokerError brError = new BrokerError();
brError.Message = error.Message;
ExceptionResponse response = new ExceptionResponse();
response.Exception = brError;
future.Response = response;
}
}
}