CodeChain-io / CodeChain-io/remote-trait-object
Why the port must be dropped when the context is dropped?
- Langage dominant
- Rust
- Étoiles
- 13
- Forks
- 5
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
https://github.com/CodeChain-io/remote-trait-object/blob/7ac07c741059ae583a05143a62cd6b07898e1c0b/remote-trait-object/src/context.rs#L63
Currently, it fails to drop the context when the port is still held by others. But, there is no way to guarantee whether all other holders released before the context dropped.
How about dropping context calls shutdown and making the methods of the `Port` returns a `Result`?
It also should make the shutdown of the `Port` takes the mutable reference of the self. It means the user can access the port after shutdown, but I think this would be safer.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Lisez remote-trait-object/src/context.rs à la ligne 63, puis retracez la façon dont la propriété de Context et de Port et l’arrêt interagissent actuellement. Résolvez la sémantique proposée de l’arrêt et de l’API renvoyant Result avant de modifier quoi que ce soit ; le travail est terminé lorsque le comportement de la suppression de Context alors que des Ports restent détenus est explicitement défini et implémenté.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- distributed-systems
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100