* Use field rather than property Operate on a field directly, rather than through a property. * Make field readonly Make field read-only as its value is never changed. * Remove lock Use Interlocked.Decrement() instead of taking a lock. * Remove lock for increment This removes the need for the lock in the success case at the cost of an extra Interlocked.Decrement() call for the failed case. * Fix typos Change "availible" to "available". * Add unit test for full queue Add a unit test that validates request is not queued if the queue is already full. |
||
|---|---|---|
| .. | ||
| QueuePolicyTests.cs | ||
| ResettableBooleanCompletionSourceTests.cs | ||
| StackPolicyTests.cs | ||