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
A few thoughts about a potential names system in Stormancer:
Definition: Names are immutable strings defined at compilation, and never changed afterwards. Names are for instance:
Route names
Service identifiers
Error ids
plugin specific ids & name
Currently we use different approach for names according to the context, for instance route names are exchanged during the initial connection handshake between 2 peers, and replaced by ushort handles afterwards, whereas most other names are transmitted on the wire whenever they are used.
A global name system would associate each name to an unique integer and use these integer for communication, comparison, etc...
Goal:
Reduced bandwidth usage when sending names
Reduced allocations by keeping a single string in memory, for human visualisation only.
Runtime & compile time introspection of names, for instance to list all possible error ids.
Extensibility. Most names are declared in server/client plugins,
Sharing names & handles between clients (at runtime, or compile time?)
Name collision
Change management (versioning? what about name deletion? and name updates ? if the string representation of a name changes, do we want it to keep being recognized as its old name by older clients? (maybe, but what consequences?))
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
A few thoughts about a potential names system in Stormancer:
Definition: Names are immutable strings defined at compilation, and never changed afterwards. Names are for instance:
Currently we use different approach for names according to the context, for instance route names are exchanged during the initial connection handshake between 2 peers, and replaced by ushort handles afterwards, whereas most other names are transmitted on the wire whenever they are used.
A global name system would associate each name to an unique integer and use these integer for communication, comparison, etc...
Goal:
Beta Was this translation helpful? Give feedback.
All reactions