Skip to content
Michael Fabian Dirks edited this page Aug 21, 2018 · 1 revision

Datalane (Node.JS bindings)

Basics:

  • Client/Server architecture, two way communication.
  • Server can listen to one or more clients.
  • Clients can connect to one or more servers.
  • Should i use signals or semaphores for this? Make this an option?

Server:

  • Listen for connections, with upper limit on connections or no upper limit (dynamically create additional listeners)
  • Use ThreadPool for work?
  • Listen() returns an object that is a server.

Client:

  • Connect to one or more servers.
  • Connect() returns an object that is a client.
  • Uses single Thread to do work.

Client/Server:

  • Event for Connect and Disconnect
  • Event for Read
  • Method for Write on each Connect returned object.

Node.Js helpers:

  • Queue up read events per msec to lower v8 overhead? (optional)
  • Implement nagle algorithm for lots of small writes? (optional)

Data:

  • Just raw data, we don't care in C++?

Wie soll das Lesen/Schreiben funktionieren?

  • write() sollte ein Objekt zurückgeben mit dem man den Status überprüfen kann. Diese Objekt sollte ohne Probleme ignoriert werden können.
  • read() sollte ein Timeout haben und bei erfolg ein array aus bytes zurückgeben.
Clone this wiki locally