Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
N
nrm
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 16
    • Issues 16
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • argo
  • nrm
  • Issues
  • #3

Closed
Open
Opened Dec 07, 2017 by Swann Perarnau@perarnau2 of 6 tasks completed2/6 tasks
  • Report abuse
  • New issue
Report abuse New issue

Move message handling to dedicated subsystem

Given that a lot of the NRM features deal with sending/receving messages around, I recommend splitting all message flow handling to a dedicated subsystem. This should deal with message formats and basic zmq handling.

I would recommend a textual format for now, like JSON, as an easy way to debug and develop the core functionalities.

We should pay attention to:

  • being able to acknowledge that a command has been received
  • being able to support multiple components talking through the same socket
  • identify/differentiate multiple components of the same application

This is the "external" format. Internally, all of that should use native structures, either dictionaries or actual objects.

The TODO for this issue are:

  • add json handling to NRM
  • create basic messaging subsystem
    • move socket management to new subsystem
    • handle client registration and tracking
    • handle basic message flow (acknowledgements)
    • handle message pack/unpack
Edited Oct 21, 2018 by Swann Perarnau
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
0
Labels
None
Assign labels
  • View project labels
Reference: argo/nrm#3