@@ -117,27 +117,17 @@ impl FutureState {
117
117
118
118
fn callback ( & mut self , event0 : u32 , event1 : u32 , event2 : u32 ) -> u32 {
119
119
match event0 {
120
- EVENT_NONE => {
121
- rtdebug ! ( "EVENT_NONE" ) ;
122
- }
123
- EVENT_CALL_STARTED => {
124
- rtdebug ! ( "EVENT_CALL_STARTED({event1:#x})" ) ;
125
- self . deliver_waitable_event ( event1, STATUS_STARTED )
126
- }
127
- EVENT_CALL_RETURNED => {
128
- rtdebug ! ( "EVENT_CALL_RETURNED({event1:#x})" ) ;
129
- self . deliver_waitable_event ( event1, STATUS_RETURNED )
130
- }
131
-
132
- EVENT_STREAM_READ | EVENT_STREAM_WRITE | EVENT_FUTURE_READ | EVENT_FUTURE_WRITE => {
133
- rtdebug ! (
134
- "EVENT_{{STREAM,FUTURE}}_{{READ,WRITE}}({event0:#x}, {event1:#x}, {event2:#x})"
135
- ) ;
136
- self . deliver_waitable_event ( event1, event2)
137
- }
138
-
120
+ EVENT_NONE => rtdebug ! ( "EVENT_NONE" ) ,
121
+ EVENT_SUBTASK => rtdebug ! ( "EVENT_SUBTASK({event1:#x}, {event2:#x})" ) ,
122
+ EVENT_STREAM_READ => rtdebug ! ( "EVENT_STREAM_READ({event1:#x}, {event2:#x})" ) ,
123
+ EVENT_STREAM_WRITE => rtdebug ! ( "EVENT_STREAM_WRITE({event1:#x}, {event2:#x})" ) ,
124
+ EVENT_FUTURE_READ => rtdebug ! ( "EVENT_FUTURE_READ({event1:#x}, {event2:#x})" ) ,
125
+ EVENT_FUTURE_WRITE => rtdebug ! ( "EVENT_FUTURE_WRITE({event1:#x}, {event2:#x})" ) ,
139
126
_ => unreachable ! ( ) ,
140
127
}
128
+ if event0 != EVENT_NONE {
129
+ self . deliver_waitable_event ( event1, event2)
130
+ }
141
131
142
132
loop {
143
133
match self . poll ( ) {
@@ -270,22 +260,20 @@ impl Wake for FutureWaker {
270
260
static mut SPAWNED : Vec < BoxFuture > = Vec :: new ( ) ;
271
261
272
262
const EVENT_NONE : u32 = 0 ;
273
- const _EVENT_CALL_STARTING: u32 = 1 ;
274
- const EVENT_CALL_STARTED : u32 = 2 ;
275
- const EVENT_CALL_RETURNED : u32 = 3 ;
276
- const EVENT_STREAM_READ : u32 = 5 ;
277
- const EVENT_STREAM_WRITE : u32 = 6 ;
278
- const EVENT_FUTURE_READ : u32 = 7 ;
279
- const EVENT_FUTURE_WRITE : u32 = 8 ;
263
+ const EVENT_SUBTASK : u32 = 1 ;
264
+ const EVENT_STREAM_READ : u32 = 2 ;
265
+ const EVENT_STREAM_WRITE : u32 = 3 ;
266
+ const EVENT_FUTURE_READ : u32 = 4 ;
267
+ const EVENT_FUTURE_WRITE : u32 = 5 ;
280
268
281
269
const CALLBACK_CODE_EXIT : u32 = 0 ;
282
270
const CALLBACK_CODE_YIELD : u32 = 1 ;
283
271
const CALLBACK_CODE_WAIT : u32 = 2 ;
284
272
const _CALLBACK_CODE_POLL: u32 = 3 ;
285
273
286
- const STATUS_STARTING : u32 = 1 ;
287
- const STATUS_STARTED : u32 = 2 ;
288
- const STATUS_RETURNED : u32 = 3 ;
274
+ const STATUS_STARTING : u32 = 0 ;
275
+ const STATUS_STARTED : u32 = 1 ;
276
+ const STATUS_RETURNED : u32 = 2 ;
289
277
290
278
const BLOCKED : u32 = 0xffff_ffff ;
291
279
const COMPLETED : u32 = 0x0 ;
0 commit comments