You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is some interest for having servers being able to serve multiple interfaces, e.g. offering services on both a USB and SPI port at the same time. Right now, the server is built around listening to a single interface with the Wire(Tx/Rx/Spawn) traits. I've had a few private requests for this, and at least one in public.
We may want to offer the ability to find some way to expand this. Challenges I can think of offhand:
How does the "plumbing" work for the server? e.g. how do we get the right WireTx for the given WireRx?
Right now the dispatch code only handles one of each.
How can we avoid "single interface" servers paying any overhead?
Should all interfaces offer the same services?
Will users only want some services on some interfaces?
If all interfaces don't have the same services, how does this affect key collision avoidance?
Should handlers be able to "know" which interface they are being called from? e.g. do they need to be passed some context?
How do we handle "fairness" when it comes to servicing messages?
Do we always "round robin" the interfaces? like ABABABABAB?
Will users want to be able to have "priority" for interfaces? e.g. "always serve A if there is a pending message, then only serve B if A is idle"?
Some other way?
How are topics_out publishes handled?
Are they sent to all interfaces?
Do we have separate Senders for each interface and the app has to know which to use?
How do we behave when one interface is up, and the other is down?
e.g. SPI is always connected, but USB may not always be.
Does this change anything?
The text was updated successfully, but these errors were encountered:
There is some interest for having servers being able to serve multiple interfaces, e.g. offering services on both a USB and SPI port at the same time. Right now, the server is built around listening to a single interface with the
Wire(Tx/Rx/Spawn)
traits. I've had a few private requests for this, and at least one in public.We may want to offer the ability to find some way to expand this. Challenges I can think of offhand:
WireTx
for the givenWireRx
?topics_out
publishes handled?Sender
s for each interface and the app has to know which to use?The text was updated successfully, but these errors were encountered: