-
Notifications
You must be signed in to change notification settings - Fork 1
feat: task management #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@@ -107,19 +119,18 @@ impl ConnectionManager { | |||
) -> (RouteTask<T>, WriteTask<T>) { | |||
let (tx, rx) = mpsc::channel(self.notification_buffer_per_task); | |||
|
|||
let (gone_tx, gone_rx) = oneshot::channel(); | |||
let tasks = self.root_tasks.child(); |
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.
connections each get their own task set, which work is spawned onto. this work is automatically cancelled when the connection goes away 😎
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.
immaculate docs
Task management system, to allow customization and control of the runtime. Also simplifies cleanup in pubsub tasks, and ensures that route futures can be cancelled efficiently when a client disconnects