-
-
Notifications
You must be signed in to change notification settings - Fork 124
Add different request types #677
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
8516eda to
9b0b793
Compare
f543c96 to
e7e6a20
Compare
e7e6a20 to
c0bf421
Compare
|
|
||
| # abstract element type to work around lack of cyclic type definitions | ||
| # https://github.com/JuliaLang/julia/issues/269 | ||
| abstract type AbstractMultiRequest <: AbstractVector{AbstractRequest} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What did you want to define orginally? I don't see the mutually recursive behavior.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the element type will really be MultiRequestItem{MR} where MR is the subtype of AbstractMultiRequest
This defines an
AbstractRequestinterface, and allows passingRequestobjects as arguments toIsend/Irecvin order to minimize allocations (as a potential solution to #645).MultiRequestwhich is essentially a vector-form Request object, but stored in the correct format.MultiRequestItemwhich is a view into a single element of aMultiRequest.UntrackedRequest/UntrackedMultiRequestwhich are variants that don't maintain a reference to the buffer.