File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,11 +24,11 @@ nix = "0.23.1"
2424socket2 = { version = " 0.4.1" , features = [" all" ] }
2525cfg-if = " 1.0.0"
2626
27- inetstack = { git = " https://github.com/demikernel/inetstack" , rev = " fcb2f986c743cc826d004b7ce29ca0716bac7860 " }
28- catwalk = { git = " https://github.com/demikernel/catwalk " , rev = " 05201a072b4d6b3afd7c02de69045f423563228f " }
27+ inetstack = { git = " https://github.com/demikernel/inetstack" , rev = " 1e1504c5e6309e32d78e38c32c3c55ccb4ae1304 " }
28+ scheduler = { git = " https://github.com/demikernel/scheduler " , rev = " fa95977f399eebfcfcd63aae506d72c1cb1756ec " }
2929dpdk-rs = { git = " https://github.com/demikernel/dpdk-rs" , rev = " f6619d5313fc224e6bf8620df7485517efea0e39" , optional = true }
3030perftools = { git = " https://github.com/demikernel/perftools" , rev = " 02f07ad28218c182bbf82e5f8eaf22f7de3f34c6" , optional = true }
31- runtime = { git = " https://github.com/demikernel/runtime" , rev = " 96b0f942af74417a96063794884af6450a5b6675 " }
31+ runtime = { git = " https://github.com/demikernel/runtime" , rev = " 14cf60cd89f491af4c539d20810f9b898828b631 " }
3232liburing = { git = " https://github.com/demikernel/liburing-rs" , rev = " e80e6238f47498b7c4e37194e896a39713c61cd9" , optional = true }
3333
3434[[test ]]
Original file line number Diff line number Diff line change @@ -26,14 +26,14 @@ use crate::{
2626 demikernel:: dbuf:: DataBuffer ,
2727 Ipv4Endpoint ,
2828} ;
29- use :: catwalk:: {
30- FutureResult ,
31- SchedulerFuture ,
32- } ;
3329use :: runtime:: {
3430 fail:: Fail ,
3531 QDesc ,
3632} ;
33+ use :: scheduler:: {
34+ FutureResult ,
35+ SchedulerFuture ,
36+ } ;
3737use :: std:: {
3838 any:: Any ,
3939 future:: Future ,
Original file line number Diff line number Diff line change @@ -36,7 +36,6 @@ use self::{
3636//==============================================================================
3737
3838use crate :: Ipv4Endpoint ;
39- use :: catwalk:: SchedulerHandle ;
4039use :: libc:: c_int;
4140use :: nix:: {
4241 sys:: socket:: {
@@ -74,6 +73,7 @@ use ::runtime::{
7473 QToken ,
7574 QType ,
7675} ;
76+ use :: scheduler:: SchedulerHandle ;
7777use :: std:: {
7878 any:: Any ,
7979 collections:: HashMap ,
Original file line number Diff line number Diff line change @@ -12,7 +12,6 @@ mod utils;
1212
1313use super :: iouring:: IoUring ;
1414use crate :: demikernel:: dbuf:: DataBuffer ;
15- use :: catwalk:: Scheduler ;
1615use :: nix:: sys:: socket:: SockAddr ;
1716use :: runtime:: {
1817 fail:: Fail ,
@@ -22,6 +21,7 @@ use ::runtime::{
2221 } ,
2322 Runtime ,
2423} ;
24+ use :: scheduler:: Scheduler ;
2525use :: std:: {
2626 cell:: RefCell ,
2727 collections:: HashMap ,
Original file line number Diff line number Diff line change 66//==============================================================================
77
88use super :: IoUringRuntime ;
9- use :: catwalk:: {
10- SchedulerFuture ,
11- SchedulerHandle ,
12- } ;
139use :: runtime:: {
1410 task:: SchedulerRuntime ,
1511 timer:: {
1612 TimerRc ,
1713 WaitFuture ,
1814 } ,
1915} ;
16+ use :: scheduler:: {
17+ SchedulerFuture ,
18+ SchedulerHandle ,
19+ } ;
2020use :: std:: time:: Instant ;
2121
2222//==============================================================================
@@ -50,12 +50,18 @@ impl SchedulerRuntime for IoUringRuntime {
5050
5151 /// Spawns a new task.
5252 fn spawn < F : SchedulerFuture > ( & self , future : F ) -> SchedulerHandle {
53- self . scheduler . insert ( future)
53+ match self . scheduler . insert ( future) {
54+ Some ( handle) => handle,
55+ None => panic ! ( "failed to insert future in the scheduler" ) ,
56+ }
5457 }
5558
5659 /// Schedules a task for execution.
5760 fn schedule < F : SchedulerFuture > ( & self , future : F ) -> SchedulerHandle {
58- self . scheduler . insert ( future)
61+ match self . scheduler . insert ( future) {
62+ Some ( handle) => handle,
63+ None => panic ! ( "failed to insert future in the scheduler" ) ,
64+ }
5965 }
6066
6167 /// Gets the handle of a task.
Original file line number Diff line number Diff line change @@ -26,14 +26,14 @@ use crate::{
2626 demikernel:: dbuf:: DataBuffer ,
2727 Ipv4Endpoint ,
2828} ;
29- use :: catwalk:: {
30- FutureResult ,
31- SchedulerFuture ,
32- } ;
3329use :: runtime:: {
3430 fail:: Fail ,
3531 QDesc ,
3632} ;
33+ use :: scheduler:: {
34+ FutureResult ,
35+ SchedulerFuture ,
36+ } ;
3737use :: std:: {
3838 any:: Any ,
3939 future:: Future ,
Original file line number Diff line number Diff line change @@ -29,7 +29,6 @@ use crate::{
2929 demikernel:: dbuf:: DataBuffer ,
3030 Ipv4Endpoint ,
3131} ;
32- use :: catwalk:: SchedulerHandle ;
3332use :: libc:: {
3433 c_int,
3534 AF_INET ,
@@ -77,6 +76,7 @@ use ::runtime::{
7776 QToken ,
7877 QType ,
7978} ;
79+ use :: scheduler:: SchedulerHandle ;
8080use :: std:: {
8181 any:: Any ,
8282 collections:: HashMap ,
Original file line number Diff line number Diff line change 77
88use crate :: demikernel:: dbuf:: DataBuffer ;
99use :: arrayvec:: ArrayVec ;
10- use :: catwalk:: {
11- Scheduler ,
12- SchedulerFuture ,
13- SchedulerHandle ,
14- } ;
1510use :: libc:: c_void;
1611use :: rand:: {
1712 distributions:: Standard ,
@@ -46,6 +41,11 @@ use ::runtime::{
4641 utils:: UtilsRuntime ,
4742 Runtime ,
4843} ;
44+ use :: scheduler:: {
45+ Scheduler ,
46+ SchedulerFuture ,
47+ SchedulerHandle ,
48+ } ;
4949use :: std:: {
5050 mem,
5151 net:: Ipv4Addr ,
@@ -187,12 +187,18 @@ impl SchedulerRuntime for PosixRuntime {
187187
188188 /// Spawns a new task.
189189 fn spawn < F : SchedulerFuture > ( & self , future : F ) -> SchedulerHandle {
190- self . scheduler . insert ( future)
190+ match self . scheduler . insert ( future) {
191+ Some ( handle) => handle,
192+ None => panic ! ( "failed to insert future in the scheduler" ) ,
193+ }
191194 }
192195
193196 /// Schedules a task for execution.
194197 fn schedule < F : SchedulerFuture > ( & self , future : F ) -> SchedulerHandle {
195- self . scheduler . insert ( future)
198+ match self . scheduler . insert ( future) {
199+ Some ( handle) => handle,
200+ None => panic ! ( "failed to insert future in the scheduler" ) ,
201+ }
196202 }
197203
198204 /// Gets the handle of a task.
Original file line number Diff line number Diff line change @@ -22,7 +22,6 @@ use ::anyhow::{
2222 format_err,
2323 Error ,
2424} ;
25- use :: catwalk:: Scheduler ;
2625use :: dpdk_rs:: {
2726 rte_delay_us_block,
2827 rte_eal_init,
@@ -76,6 +75,7 @@ use ::runtime::{
7675 timer:: Timer ,
7776 Runtime ,
7877} ;
78+ use :: scheduler:: Scheduler ;
7979use :: std:: {
8080 cell:: RefCell ,
8181 collections:: HashMap ,
Original file line number Diff line number Diff line change 66//==============================================================================
77
88use super :: DPDKRuntime ;
9- use :: catwalk:: {
10- SchedulerFuture ,
11- SchedulerHandle ,
12- } ;
139use :: runtime:: {
1410 task:: SchedulerRuntime ,
1511 timer:: {
@@ -18,6 +14,10 @@ use ::runtime::{
1814 WaitFuture ,
1915 } ,
2016} ;
17+ use :: scheduler:: {
18+ SchedulerFuture ,
19+ SchedulerHandle ,
20+ } ;
2121use :: std:: {
2222 rc:: Rc ,
2323 time:: {
@@ -65,11 +65,17 @@ impl SchedulerRuntime for DPDKRuntime {
6565 }
6666
6767 fn spawn < F : SchedulerFuture > ( & self , future : F ) -> SchedulerHandle {
68- self . scheduler . insert ( future)
68+ match self . scheduler . insert ( future) {
69+ Some ( handle) => handle,
70+ None => panic ! ( "failed to insert future in the scheduler" ) ,
71+ }
6972 }
7073
7174 fn schedule < F : SchedulerFuture > ( & self , future : F ) -> SchedulerHandle {
72- self . scheduler . insert ( future)
75+ match self . scheduler . insert ( future) {
76+ Some ( handle) => handle,
77+ None => panic ! ( "failed to insert future in the scheduler" ) ,
78+ }
7379 }
7480
7581 fn get_handle ( & self , key : u64 ) -> Option < SchedulerHandle > {
You can’t perform that action at this time.
0 commit comments