phoenix-dataplane / phoenix

Phoenix dataplane system service
https://phoenix-dataplane.github.io
Apache License 2.0
51 stars 9 forks source link

Add a flush operation to make sure all previous datapath operations are flushed from the shm queue #41

Closed crazyboycjr closed 2 years ago

crazyboycjr commented 2 years ago

Say the user write this code id.post_recv(...); id.accept();

Since the post_recv is an asynchronous data path operation, it could happen after the accept has happened.

Another way to prevent this is to direct all control path operations into a datapath notification in the datapath shared memory queue. This ways does not require changes in user code.

crazyboycjr commented 2 years ago

It is always preferred to flush all existing datapath operations before executing a control path operation.