private bool SentAsync(OutgoingAsyncBase outAsync) { lock (this) { if (!_sendAsyncRequests.Remove(outAsync)) { return(false); // The request timed-out. } if (!outAsync.Sent()) { return(true); } } outAsync.InvokeSent(); return(true); }