summaryrefslogtreecommitdiff
path: root/server/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/index.js')
-rw-r--r--server/index.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/server/index.js b/server/index.js
new file mode 100644
index 0000000..b0bfd42
--- /dev/null
+++ b/server/index.js
@@ -0,0 +1,39 @@
+const cp = require('child_process');
+let processes = {};
+
+let serverlets = [
+ "authentication",
+ "keyserver",
+ "profile",
+ "verification",
+ "presence",
+ "conversation"
+]
+
+for (let serverlet of serverlets) {
+ startServerlet(serverlet);
+}
+
+function startServerlet(serverlet) {
+ console.log("Starting " + serverlet + "...");
+ processes[serverlet] = cp.spawn("node", [ "hornchat." + serverlet + ".js" ], { stdio: "pipe" });
+ console.log("[" + serverlet + "] (PID: " + processes[serverlet].pid + ")")
+
+ processes[serverlet].stdout.on('data', (data) => {
+ let lines = data.toString().trim().split("\n");
+ for (let line of lines) {
+ console.log("[" + serverlet + "] " + line);
+ }
+ })
+
+ processes[serverlet].stderr.on('data', (data) => {
+ let lines = data.toString().trim().split("\n");
+ for (let line of lines) {
+ console.error("[" + serverlet + "] " + line);
+ }
+ })
+
+ processes[serverlet].on('close', () => {
+ startServerlet(serverlet);
+ })
+} \ No newline at end of file