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

white paper: Method based Message API with Configurable Backend Storage #1

Closed
wjwwood opened this issue Nov 8, 2013 · 1 comment
Closed
Assignees
Labels
invalid This doesn't seem right whitepaper

Comments

@wjwwood
Copy link
Member

wjwwood commented Nov 8, 2013

Summarize and then support with research the arguments for and against using method based accessors for the message API and for and against having configurable backend storage for the message API. Then prototype elements of the proposed design trade-offs where appropriate.

The method based interface is the alternative to a C-style member accessor method, but it is not mutually exclusive with this style of accessing attributes for messages.

Capture at least these cases and compare performance:

  • member access
    • Provides direct member access to a plain struct backend storage
  • mutable method access
    • Provides mutable references to a plain struct backend storage with methods
  • immutable method access
    • Provides copies of attributes of a plain struct backend storage with methods
  • mutable method access with configurable backend
    • Provides mutable references to a configurable backend storage with methods
    • Would exclude serializers which do not give mutable access to storage, e.g. protobuf.
  • immutable method access with configurable backend
    • Provides copies of attributes of a configurable backend storage with methods

Another dimension to investigate is the cost of having the default backend storage configurable at run time versus compile time.

@wjwwood
Copy link
Member Author

wjwwood commented Nov 8, 2013

@dirk-thomas does this properly describe the scope?

@ghost ghost assigned dirk-thomas Nov 8, 2013
@wjwwood wjwwood closed this as completed Dec 9, 2013
tfoote pushed a commit that referenced this issue Nov 2, 2015
Update for pull-request 34
clalancette pushed a commit that referenced this issue Oct 29, 2018
Updates architecture diagram and fixes text typo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right whitepaper
Projects
None yet
Development

No branches or pull requests

2 participants