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
Additionally the callback for async lifted exports receives three 32-bit integers at this time: an EventCode, an optional waitable index, and an optional code for the event.
With futures/streams there's currently a nice property that for any waitable there's a single EventCode that corresponds to it, for example the two reads of a stream/future have a read/write event. Additionally the optional code to the callback exactly corresponds to what the read/write/cancel intrinsics all return.
For subtasks, however, the three events a subtask can receive are split across different EventCodes where the optional code for each event is always zero.
How about refactoring these codes/states with respect to the upcoming change of two-handle streams/futures? The idea would be to fold CALL_* into a single EventCode.SUBTASK. The waitable index to the callback would be the same and the optional code would be the CallState.
The text was updated successfully, but these errors were encountered:
That's a good idea; makes sense to me. There's already a pending breaking ABI tweak for #490, so we could include this change to minimize the number of such breaks, if that makes sense? And you're right, CALL_STARTING isn't possible.
Currently we have:
Additionally the callback for async lifted exports receives three 32-bit integers at this time: an
EventCode
, an optional waitable index, and an optional code for the event.With futures/streams there's currently a nice property that for any waitable there's a single
EventCode
that corresponds to it, for example the two reads of a stream/future have a read/write event. Additionally the optional code to thecallback
exactly corresponds to what the read/write/cancel intrinsics all return.For subtasks, however, the three events a subtask can receive are split across different
EventCode
s where the optional code for each event is always zero.How about refactoring these codes/states with respect to the upcoming change of two-handle streams/futures? The idea would be to fold
CALL_*
into a singleEventCode.SUBTASK
. The waitable index to thecallback
would be the same and the optional code would be theCallState
.The text was updated successfully, but these errors were encountered: