From 32bccdbad9fa5d175411bee3c2d229113b8bd10f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 15 May 2019 17:26:39 +0100 Subject: [PATCH] Rename "broker" to "server" --- docker/{docker-broker.sh => docker-server.sh} | 0 .../run | 2 +- packages/broker/src/client.js | 85 ------------------- packages/{broker => server}/.babelrc | 0 packages/{broker => server}/LICENCE | 0 packages/{broker => server}/TODO.md | 0 .../bin/syndicate-server.js} | 0 packages/{broker => server}/chat.html | 0 .../{broker => server}/chat.webpack.config.js | 0 packages/{broker => server}/d.html | 0 packages/{broker => server}/d.js | 0 packages/{broker => server}/gpl-3.0.txt | 0 .../monitor.webpack.config.js | 0 packages/{broker => server}/package.json | 4 +- packages/{broker => server}/src/chat.js | 16 ++-- packages/server/src/client.js | 85 +++++++++++++++++++ packages/{broker => server}/src/index.js | 10 +-- packages/{broker => server}/src/monitor.js | 14 +-- packages/{broker => server}/src/protocol.js | 0 packages/{broker => server}/style.css | 0 .../syntax-playground/src/avahipublish.js | 2 +- 21 files changed, 109 insertions(+), 109 deletions(-) rename docker/{docker-broker.sh => docker-server.sh} (100%) rename docker/service/{syndicate-broker => syndicate-server}/run (70%) delete mode 100644 packages/broker/src/client.js rename packages/{broker => server}/.babelrc (100%) rename packages/{broker => server}/LICENCE (100%) rename packages/{broker => server}/TODO.md (100%) rename packages/{broker/bin/syndicate-broker.js => server/bin/syndicate-server.js} (100%) rename packages/{broker => server}/chat.html (100%) rename packages/{broker => server}/chat.webpack.config.js (100%) rename packages/{broker => server}/d.html (100%) rename packages/{broker => server}/d.js (100%) rename packages/{broker => server}/gpl-3.0.txt (100%) rename packages/{broker => server}/monitor.webpack.config.js (100%) rename packages/{broker => server}/package.json (90%) rename packages/{broker => server}/src/chat.js (87%) create mode 100644 packages/server/src/client.js rename packages/{broker => server}/src/index.js (96%) rename packages/{broker => server}/src/monitor.js (76%) rename packages/{broker => server}/src/protocol.js (100%) rename packages/{broker => server}/style.css (100%) diff --git a/docker/docker-broker.sh b/docker/docker-server.sh similarity index 100% rename from docker/docker-broker.sh rename to docker/docker-server.sh diff --git a/docker/service/syndicate-broker/run b/docker/service/syndicate-server/run similarity index 70% rename from docker/service/syndicate-broker/run rename to docker/service/syndicate-server/run index 21becb8..e327f47 100755 --- a/docker/service/syndicate-broker/run +++ b/docker/service/syndicate-server/run @@ -1,4 +1,4 @@ #!/bin/sh s6-svwait ../avahi-daemon -cd /data/packages/broker +cd /data/packages/server exec node lib/index.js diff --git a/packages/broker/src/client.js b/packages/broker/src/client.js deleted file mode 100644 index 808de40..0000000 --- a/packages/broker/src/client.js +++ /dev/null @@ -1,85 +0,0 @@ -"use strict"; - -import { - Decoder, Encoder, Bytes, - Observe, Skeleton, - genUuid, -} from "@syndicate-lang/core"; - -const WS = activate require("@syndicate-lang/driver-websocket"); - -const { - Connect, Peer, - Assert, Clear, Message, - Add, Del, Msg, Err, - Ping, Pong, - makeDecoder, -} = activate require("./protocol"); - -assertion type WSBroker(url, scope); - -assertion type ToBroker(addr, assertion); -assertion type FromBroker(addr, assertion); -assertion type BrokerConnection(addr); -assertion type BrokerConnected(addr); -message type ForceBrokerDisconnect(addr); - -message type _BrokerPacket(addr, packet); - -Object.assign(module.exports, { - WSBroker, - ToBroker, FromBroker, - BrokerConnection, BrokerConnected, - ForceBrokerDisconnect, -}); - -spawn named "BrokerClientFactory" { - during ToBroker($addr, _) assert BrokerConnection(addr); - during Observe(FromBroker($addr, _)) assert BrokerConnection(addr); - during Observe(BrokerConnected($addr)) assert BrokerConnection(addr); - - during BrokerConnection($addr(WSBroker($url, $scope))) spawn named ['Broker', addr] { - const wsId = genUuid('broker'); - - during WS.WebSocket(wsId, url, {}) { - assert BrokerConnected(addr); - - function w(x) { - send WS.DataOut(wsId, new Encoder().push(x).contents()); - } - - on start w(Connect(scope)); - - on message WS.DataIn(wsId, $data) { - if (data instanceof Bytes) { - send _BrokerPacket(addr, makeDecoder(data).next()); - } - } - - during ToBroker(addr, $a) { - const ep = genUuid('pub'); - on start w(Assert(ep, a)); - on stop w(Clear(ep)); - } - - on message ToBroker(addr, $a) w(Message(a)); - - on message _BrokerPacket(addr, Ping()) w(Pong()); - - during Observe(FromBroker(addr, $spec)) { - const ep = genUuid('sub'); - on start w(Assert(ep, Observe(spec))); - on stop w(Clear(ep)); - on message _BrokerPacket(addr, Add(ep, $vs)) { - react { - assert Skeleton.instantiateAssertion(FromBroker(addr, spec), vs); - stop on message _BrokerPacket(addr, Del(ep, vs)); - } - } - on message _BrokerPacket(addr, Msg(ep, $vs)) { - send Skeleton.instantiateAssertion(FromBroker(addr, spec), vs); - } - } - } - } -} diff --git a/packages/broker/.babelrc b/packages/server/.babelrc similarity index 100% rename from packages/broker/.babelrc rename to packages/server/.babelrc diff --git a/packages/broker/LICENCE b/packages/server/LICENCE similarity index 100% rename from packages/broker/LICENCE rename to packages/server/LICENCE diff --git a/packages/broker/TODO.md b/packages/server/TODO.md similarity index 100% rename from packages/broker/TODO.md rename to packages/server/TODO.md diff --git a/packages/broker/bin/syndicate-broker.js b/packages/server/bin/syndicate-server.js similarity index 100% rename from packages/broker/bin/syndicate-broker.js rename to packages/server/bin/syndicate-server.js diff --git a/packages/broker/chat.html b/packages/server/chat.html similarity index 100% rename from packages/broker/chat.html rename to packages/server/chat.html diff --git a/packages/broker/chat.webpack.config.js b/packages/server/chat.webpack.config.js similarity index 100% rename from packages/broker/chat.webpack.config.js rename to packages/server/chat.webpack.config.js diff --git a/packages/broker/d.html b/packages/server/d.html similarity index 100% rename from packages/broker/d.html rename to packages/server/d.html diff --git a/packages/broker/d.js b/packages/server/d.js similarity index 100% rename from packages/broker/d.js rename to packages/server/d.js diff --git a/packages/broker/gpl-3.0.txt b/packages/server/gpl-3.0.txt similarity index 100% rename from packages/broker/gpl-3.0.txt rename to packages/server/gpl-3.0.txt diff --git a/packages/broker/monitor.webpack.config.js b/packages/server/monitor.webpack.config.js similarity index 100% rename from packages/broker/monitor.webpack.config.js rename to packages/server/monitor.webpack.config.js diff --git a/packages/broker/package.json b/packages/server/package.json similarity index 90% rename from packages/broker/package.json rename to packages/server/package.json index fd22367..3f26103 100644 --- a/packages/broker/package.json +++ b/packages/server/package.json @@ -1,5 +1,5 @@ { - "name": "@syndicate-lang/broker", + "name": "@syndicate-lang/server", "private": true, "version": "0.0.8", "license": "GPL-3.0+", @@ -26,6 +26,6 @@ }, "main": "lib/index.js", "bin": { - "syndicate-broker": "./bin/syndicate-broker.js" + "syndicate-server": "./bin/syndicate-server.js" } } diff --git a/packages/broker/src/chat.js b/packages/server/src/chat.js similarity index 87% rename from packages/broker/src/chat.js rename to packages/server/src/chat.js index 7f2765e..5ce4e95 100644 --- a/packages/broker/src/chat.js +++ b/packages/server/src/chat.js @@ -4,7 +4,7 @@ const UI = activate require("@syndicate-lang/driver-browser-ui"); // @jsx UI.html // @jsxFrag UI.htmlFragment -const { WSBroker, ToBroker, FromBroker, BrokerConnected } = activate require("./client"); +const { WSServer, ToServer, FromServer, ServerConnected } = activate require("./client"); assertion type Present(name); assertion type Says(who, what); @@ -29,31 +29,31 @@ spawn { const ui = new UI.Anchor(); during UI.UIChangeableProperty('#wsurl', 'value', $url) { - const addr = WSBroker(url, "broker"); - during BrokerConnected(addr) { + const addr = WSServer(url, "broker"); + during ServerConnected(addr) { on start outputItem(connected to {addr}, 'state_connected'); on stop outputItem(disconnected from {addr}, 'state_disconnected'); - assert ToBroker(addr, Present(this.nym)); - during FromBroker(addr, Present($who)) { + assert ToServer(addr, Present(this.nym)); + during FromServer(addr, Present($who)) { assert ui.context(who).html('#nymlist',
  • {who}
  • ); } on message UI.GlobalEvent('#send_chat', 'click', _) { - if (this.next_chat) send ToBroker(addr, Says(this.nym, this.next_chat)); + if (this.next_chat) send ToServer(addr, Says(this.nym, this.next_chat)); send UI.SetProperty('#chat_input', 'value', ''); } - on message FromBroker(addr, Says($who, $what)) { + on message FromServer(addr, Says($who, $what)) { outputItem( {who}{what} ); } // on message Syndicate.WakeDetector.wakeEvent() { - // :: forceBrokerDisconnect(addr); + // :: forceServerDisconnect(addr); // } } } diff --git a/packages/server/src/client.js b/packages/server/src/client.js new file mode 100644 index 0000000..1961e49 --- /dev/null +++ b/packages/server/src/client.js @@ -0,0 +1,85 @@ +"use strict"; + +import { + Decoder, Encoder, Bytes, + Observe, Skeleton, + genUuid, +} from "@syndicate-lang/core"; + +const WS = activate require("@syndicate-lang/driver-websocket"); + +const { + Connect, Peer, + Assert, Clear, Message, + Add, Del, Msg, Err, + Ping, Pong, + makeDecoder, +} = activate require("./protocol"); + +assertion type WSServer(url, scope); + +assertion type ToServer(addr, assertion); +assertion type FromServer(addr, assertion); +assertion type ServerConnection(addr); +assertion type ServerConnected(addr); +message type ForceServerDisconnect(addr); + +message type _ServerPacket(addr, packet); + +Object.assign(module.exports, { + WSServer, + ToServer, FromServer, + ServerConnection, ServerConnected, + ForceServerDisconnect, +}); + +spawn named "ServerClientFactory" { + during ToServer($addr, _) assert ServerConnection(addr); + during Observe(FromServer($addr, _)) assert ServerConnection(addr); + during Observe(ServerConnected($addr)) assert ServerConnection(addr); + + during ServerConnection($addr(WSServer($url, $scope))) spawn named ['Server', addr] { + const wsId = genUuid('server'); + + during WS.WebSocket(wsId, url, {}) { + assert ServerConnected(addr); + + function w(x) { + send WS.DataOut(wsId, new Encoder().push(x).contents()); + } + + on start w(Connect(scope)); + + on message WS.DataIn(wsId, $data) { + if (data instanceof Bytes) { + send _ServerPacket(addr, makeDecoder(data).next()); + } + } + + during ToServer(addr, $a) { + const ep = genUuid('pub'); + on start w(Assert(ep, a)); + on stop w(Clear(ep)); + } + + on message ToServer(addr, $a) w(Message(a)); + + on message _ServerPacket(addr, Ping()) w(Pong()); + + during Observe(FromServer(addr, $spec)) { + const ep = genUuid('sub'); + on start w(Assert(ep, Observe(spec))); + on stop w(Clear(ep)); + on message _ServerPacket(addr, Add(ep, $vs)) { + react { + assert Skeleton.instantiateAssertion(FromServer(addr, spec), vs); + stop on message _ServerPacket(addr, Del(ep, vs)); + } + } + on message _ServerPacket(addr, Msg(ep, $vs)) { + send Skeleton.instantiateAssertion(FromServer(addr, spec), vs); + } + } + } + } +} diff --git a/packages/broker/src/index.js b/packages/server/src/index.js similarity index 96% rename from packages/broker/src/index.js rename to packages/server/src/index.js index b94a833..4807211 100644 --- a/packages/broker/src/index.js +++ b/packages/server/src/index.js @@ -19,7 +19,7 @@ const TCP_PORT = 8001; const server = Http.HttpServer(null, HTTP_PORT); -const dataspaceId = 'EToUNUJI0ykSfudmN9Z99wu62qGQB1nd8SHvjNtL5tM'; // public key of root broker +const dataspaceId = 'EToUNUJI0ykSfudmN9Z99wu62qGQB1nd8SHvjNtL5tM'; // public key of root server const localId = RandomID.randomId(8, false); const gatewayId = dataspaceId + ':' + localId; @@ -109,13 +109,13 @@ spawn named 'websocketListener' { spawn named 'tcpListener' { assert M.Publish(M.Service(gatewayId, '_syndicate._tcp'), null, TCP_PORT, ["tier=0"]); on asserted S.IncomingConnection($id, S.TcpListener(TCP_PORT)) { - spawnStreamConnection('tcpBroker', id); + spawnStreamConnection('tcpServer', id); } } spawn named 'unixListener' { on asserted S.IncomingConnection($id, S.UnixSocketServer("./sock")) { - spawnStreamConnection('unixBroker', id); + spawnStreamConnection('unixServer', id); } } @@ -226,11 +226,11 @@ spawn named 'peerDiscovery' { /* -If there's a broker on our gateway interface, see if it's better than us. +If there's a server on our gateway interface, see if it's better than us. - if it is, use it. - if it's not, pretend it isn't there. -If there's no broker on our gateway interface (or we're pretending +If there's no server on our gateway interface (or we're pretending none exists), try to connect to the top. */ diff --git a/packages/broker/src/monitor.js b/packages/server/src/monitor.js similarity index 76% rename from packages/broker/src/monitor.js rename to packages/server/src/monitor.js index 6e0b6fc..cc3f813 100644 --- a/packages/broker/src/monitor.js +++ b/packages/server/src/monitor.js @@ -4,7 +4,7 @@ const UI = activate require("@syndicate-lang/driver-browser-ui"); // @jsx UI.html // @jsxFrag UI.htmlFragment -const { WSBroker, ToBroker, FromBroker, BrokerConnected } = activate require("./client"); +const { WSServer, ToServer, FromServer, ServerConnected } = activate require("./client"); assertion type ConnectionScope(connId, scope); message type Disconnect(connId); @@ -13,7 +13,7 @@ spawn { const ui = new UI.Anchor(); assert ui.html('body',
    -

    Broker monitor

    +

    Server monitor

    ); @@ -23,22 +23,22 @@ spawn { u.pathname = '/'; return u.toString(); })(); - const addr = WSBroker(url, "monitor"); + const addr = WSServer(url, "monitor"); - during BrokerConnected(addr) { - during FromBroker(addr, ConnectionScope(_, $scope)) { + during ServerConnected(addr) { + during FromServer(addr, ConnectionScope(_, $scope)) { const ui = new UI.Anchor(); assert ui.html('#scopes',

    Scope: {scope}

    ); - during FromBroker(addr, ConnectionScope($id, scope)) { + during FromServer(addr, ConnectionScope($id, scope)) { const ui = new UI.Anchor(); assert ui.html(`#scopes div.scope_${scope} ul`,
  • {id.toString()}
  • ); on message UI.UIEvent(ui.fragmentId, 'button.disconnect', 'click', _) { - send ToBroker(addr, Disconnect(id)); + send ToServer(addr, Disconnect(id)); } } } diff --git a/packages/broker/src/protocol.js b/packages/server/src/protocol.js similarity index 100% rename from packages/broker/src/protocol.js rename to packages/server/src/protocol.js diff --git a/packages/broker/style.css b/packages/server/style.css similarity index 100% rename from packages/broker/style.css rename to packages/server/style.css diff --git a/packages/syntax-playground/src/avahipublish.js b/packages/syntax-playground/src/avahipublish.js index b192453..7792d67 100644 --- a/packages/syntax-playground/src/avahipublish.js +++ b/packages/syntax-playground/src/avahipublish.js @@ -19,7 +19,7 @@ spawn named 'test' { // } field this.count = 0; - dataflow console.log('Broker count:', this.count); + dataflow console.log('Service count:', this.count); during M.Discovered(M.Service($name, '_syndicate+ws._tcp'), $host, $port, $txt, $addr, "IPv4", _) {