Skip to content
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

Complex routing protocols #22

Open
ecpeterson opened this issue Nov 12, 2020 · 0 comments
Open

Complex routing protocols #22

ecpeterson opened this issue Nov 12, 2020 · 0 comments

Comments

@ecpeterson
Copy link
Contributor

In network.lisp, one finds the following comment:

;; IMPORTANT NOTE: On reflection, a nondeterministic routing strategy will mean
;;     that it's possible for violate message delivery order, which is no bueno.
;;     Either this function should always be deterministic, or we we will have
;;     to put up with out-of-order behavior, or we will have to reject out-of-
;;     order messages.  For now, let's stick with the first option.

We actually don't need to put up with out-of-order behavior: if a message originator also transmits the ID of the message it previously sent to a given address, the receiving courier can wait until that message is also received before installing this message in the appropriate inbox. At present, send-message is implemented too minimally to support this, and I think making it less minimal would affect one's ability to use it (with this guarantee) outside of the context of a process—but it is possible to make this modification.

This is worth doing, as it opens the door to more complicated routing protocols and the alleviation of network pressure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant