-
-
Notifications
You must be signed in to change notification settings - Fork 123
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
AbstractRequest
interface, and allows passingRequest
objects as arguments toIsend
/Irecv
in order to minimize allocations (as a potential solution to #645).MultiRequest
which is essentially a vector-form Request object, but stored in the correct format.MultiRequestItem
which is a view into a single element of aMultiRequest
.UntrackedRequest
/UntrackedMultiRequest
which are variants that don't maintain a reference to the buffer.