You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
carllerche opened this issue
Feb 11, 2019
· 5 comments
Labels
A-bufferArea: The tower "buffer" middlewareC-requestCategory: A non-feature request, e.g.: metadata updates, optimization suggestion, etc.I-slowProblems and improvements related to performance.S-blockedStatus: marked as blocked ❌ on something else such as a PR or other implementation work.
Ah, I see what you mean. Yes, I think that could work, but only if you assume that a Service cannot become NotReady after it has reported Ready (I suppose the current code would also break if that were the case). I'm not sure why you need the self.rx.poll_ready though?
I believe it is a fair guarantee that once Service::poll_ready returns Ready, it must always return Ready until Service::call is called.
jonhoo
added
A-buffer
Area: The tower "buffer" middleware
C-request
Category: A non-feature request, e.g.: metadata updates, optimization suggestion, etc.
I-slow
Problems and improvements related to performance.
labels
Mar 31, 2020
I was about to implement this, when I realized that this will also trigger the issue pointed out in #408/#412. If we poll_ready on the Service before we know we have a request to send it, then we may be "holding up" a slot in the service (such as in a Buffer) forever with no way of giving it back. So I think we should leave this as-is for the time being until a disarm mechanism is added.
jonhoo
added
the
S-blocked
Status: marked as blocked ❌ on something else such as a PR or other implementation work.
label
Mar 31, 2020
A-bufferArea: The tower "buffer" middlewareC-requestCategory: A non-feature request, e.g.: metadata updates, optimization suggestion, etc.I-slowProblems and improvements related to performance.S-blockedStatus: marked as blocked ❌ on something else such as a PR or other implementation work.
Instead of having a
current_message
slot, perhaps the worker should "join" on the service and the request queue being ready.Thoughts @jonhoo
The text was updated successfully, but these errors were encountered: