Added ScaleOutConfiguration
In progress scale-out changes
More scale-out updates:
- Removing retry logic from DbOperation
- Any exceptions during sending just propagate up the task chain
- Receive loop just calls OnError and keeps going in case of exception
Redid scale out error handling.
- If errors happen on send turn buffering on.
- If OnError is called turn buffering on.
- If RetryOnError is false throw synchronously always after first failure.
Clean up some of the logic in ScaleoutTaskQueue.
Only raise error handler if it's set.
Made some changes to the ScaleoutTaskQueue.
- Fixed the drain from the previous queue.
- Only send if state is connected in redis.
Changed the event tracing in redis.
Added Close method that shuts the queue down gracefully.
- Dispose closes all streams.
- Check the state on queued sends.
Never throw when draining the queue.
Remove checks for state in RedisMessageBus.Send.
Fix app domain restarts in scaleout.
- If fragment is null then return an empty fragment.
Changed RedisScaleOutConfiguration to take a ctor.
Fixed the scaleout configuration.
Clean up task queue draining.
Updated RunBase to swallow exceptions in Send.
Made some fixes to ScaleoutTaskQueue.
- Any calls to Open after Close noops.
- Fixed task.Wait in Close.
- Added unit tests for ScaleoutTaskQueue