- 04 Aug, 2018 2 commits
-
-
Nick Craver authored
This is likely causing some fail as we're not sure everything has been sent. If we *can* be sure, it'd be safe to close it early, otherwise we need to eat the TIME_WAIT. Buuuuuuut now that I think about it. Linger only works inherently *when there's data left to write*. If our data is *in the pipe* and not yet *in the socket buffer*, we'd be killing it early. This may explain several failures, especially inconsistent and under-load ones. We really need to figure out how to best close the socket *when the pipe is done* in the Dispose() case. /cc @mgravell
-
Nick Craver authored
-
- 03 Aug, 2018 8 commits
-
-
Marc Gravell authored
-
Marc Gravell authored
-
Nick Craver authored
-
Marc Gravell authored
add TEST tracers when connecting and closing; prefer PING on subscribers; avoid NRE in connect; set no-linger
-
Nick Craver authored
-
ccs-kenji-andoh authored
-
Marc Gravell authored
Try to make sure that QUIT doesn't get stuck to one side with no chance of completion; do a better job of completing messages that we never send; stamp time of ambient exceptions
-
Marc Gravell authored
-
- 02 Aug, 2018 3 commits
-
-
Nick Craver authored
-
Nick Craver authored
-
Prakash G.R authored
-
- 01 Aug, 2018 10 commits
-
-
Marc Gravell authored
-
Marc Gravell authored
-
Marc Gravell authored
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
Nick Craver authored
-
Marc Gravell authored
add the SocketConnection ShutdownKind/SocketError to the failure outputl make Roslynator happy in a bunch of places
-
Marc Gravell authored
-
- 31 Jul, 2018 6 commits
-
-
Marc Gravell authored
find+fix more ways of not competing tasks; better tracing of message faults via new MessageFaulted event (requires `internal` access and a build flag); improve ManyContexts (test) stability
-
Marc Gravell authored
-
Marc Gravell authored
-
Marc Gravell authored
handle AggregateException it SafeStatus (transaction tests); be more aggressive about completing the queue in ChannelMessageQueue.Unsubscribe[Async]Impl
-
Marc Gravell authored
-
Marc Gravell authored
found more ways that things could fail to be completed (completion manager being null); use the awesome power of extension methods to fix that without a refactor
-
- 30 Jul, 2018 3 commits
-
-
Marc Gravell authored
-
Marc Gravell authored
not having a bridge is no excuse not to complete something; if the bridge is unavailable, complete things on the shared manager (which will defer to the thread-pool if disposed)
-
Marc Gravell authored
code; the question is whether we guarantee that the completion has *already run* or not - we don't want to do this on the processor, as anything that involves changing Task status can lead to thread theft, so it is done via the custom thread pool; the fix here is simply to check that the task *becomes* cancelled (in a timely fashion), rather than that the task *is* cancelled; anyone using "await" or ".Wait()" ".Result" will observe that *anyway*; also tidied up some efficiency code to reduce exception allocations in this scenario
-
- 28 Jul, 2018 5 commits
-
-
Nick Craver authored
-
Nick Craver authored
This now throws early for an invalid call, rather than a currently confusing server message to users (see #724 fo details).
-
Nick Craver authored
This is more consitent with our commands, enums, and redis docs themseleves.
-
Nick Craver authored
-
Nick Craver authored
-
- 27 Jul, 2018 3 commits
-
-
Marc Gravell authored
-
Marc Gravell authored
fixed incorrect expectation for #900 - or... should it resolve at parse time? (decisions, decisions)
-
Marc Gravell authored
-