Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
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.
An alternative to consider:
sel.case(ch1.recv(x))andsel.case(ch2.send(Y)).Uh oh!
There was an error while loading. Please reload this page.
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.
My proposal is similar -- Defining the
sendandrecv(write/read) for the Channel as @helinwang proposed above, or writing outsendandrecvas separate methods:The methods can have the definition like:
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.
I agree the C++ syntax should look like the one that you mentioned above. I am not sure how we would be able to implement
sel.case(ch1.recv(x))in python. This is becausech1.recv(x)can also be called in a standalone fashion, outside ofselect. I think this might depend on how we design theselectoperator in Paddle.Uh oh!
There was an error while loading. Please reload this page.
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.
Sorry for the late reply!
I have not find
recvdesign in this doc, but I thinkch1.recv(x)should return a var, so it could work both in standalone and in select.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.
I agree with @helinwang 's proposal as well.
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.
I agree with @helinwang as well. I am approving this PR so we could merge it, together with @kavyasrinet 's PR on send/recv syntax. Then, let us rethink about them.