Skip to content

Refactor Inter-Dactor Message Type Hierarchy #97

@srfc

Description

@srfc

Refactor Inter-Dactor Message Type Hierarchy

Refactor the type hierarchy of inter-Dactor messages to improve flexibility when processing messages using pattern matching as well as to make them more manageable.

Problem Description

  • Pattern matching messages within Receive methods is not very flexible because of a flat hierarchy of most message types
  • Unsafe messages that are only meant for use in debugging or testing do not share a common ancestor and might be hard to keep track of so we can later warn or deprecate them for production use

Supporting Information

  • Possible type hierarchy layout with a focus on improving specificity to support flexible pattern matching:
Root class Childs Description
akka.actor.Status Success, Failure Messages from the akka-framework
InternalMessageProtocol. InternalMessage Ping, Pong, UpdateMapping, ... Messages used internally in the adbms framework.
DefaultMessageProtocol. Status InsertIntoRelation. Success|Failure, SelectAllFromRelation. Success|Failure Unsafe messages, only used for testing, debugging and not meant for production.
RequestResponseProtocol. Response <UserOp>.Success|Failure, ... Production-grade messages defined by the developer (user of our framework). We only provide the base classes.
  • RequestResponseProtocol is already on master

Related

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions