Skip to content

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

@wjwwood

Description

@wjwwood

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions