
Checkpoint
./server.js:13690106/2267
Showing
1 changed file
with
14 additions
and
16 deletions
... | @@ -4,31 +4,29 @@ const http = require('http'); | ... | @@ -4,31 +4,29 @@ const http = require('http'); |
4 | const WebSocket = require('ws'); | 4 | const WebSocket = require('ws'); |
5 | var server = http.createServer().listen(3000); | 5 | var server = http.createServer().listen(3000); |
6 | 6 | ||
7 | var gun1 = Gun({peers:[], ws: { noServer: true}}); | 7 | // LRU with last used sockets |
8 | var gun2 = Gun({peers:[], ws: { noServer: true}}); | ||
9 | |||
10 | const QuickLRU = require('quick-lru'); | 8 | const QuickLRU = require('quick-lru'); |
11 | const lru = new QuickLRU({maxSize: 100}); | 9 | const lru = new QuickLRU({maxSize: 100}); |
12 | 10 | ||
13 | var wss_event = new WebSocket.Server({ noServer: true}); | 11 | var wss_event = new WebSocket.Server({ noServer: true}); |
14 | 12 | ||
15 | server.on('upgrade', function (request, socket, head) { | 13 | server.on('upgrade', async function (request, socket, head) { |
16 | var pathname = url.parse(request.url).pathname; | 14 | var pathname = url.parse(request.url).pathname || '/gun'; |
17 | var gun | 15 | var gun = false; |
16 | if (pathname){ | ||
18 | if (lru.has(pathname)){ | 17 | if (lru.has(pathname)){ |
19 | 18 | // Existing Node | |
19 | gun = await lru.get(pathname); | ||
20 | } else { | 20 | } else { |
21 | var gun = Gun({peers:[], ws: { noServer: true}}); | 21 | // Create Node |
22 | gun = await Gun({peers:[], ws: { noServer: true}}); | ||
22 | lru.set(pathname,gun); | 23 | lru.set(pathname,gun); |
23 | } | 24 | } |
24 | 25 | } | |
25 | if (pathname === '/gun1') { | 26 | if (gun){ |
26 | gun1.handleUpgrade(request, socket, head, function (ws) { | 27 | // Handle Request |
27 | gun1.emit('connection', ws); | 28 | gun.handleUpgrade(request, socket, head, function (ws) { |
28 | }); | 29 | gun.emit('connection', ws); |
29 | } else if (pathname === '/gun2') { | ||
30 | gun2.handleUpgrade(request, socket, head, function (ws) { | ||
31 | gun2.emit('connection', ws); | ||
32 | }); | 30 | }); |
33 | } else { | 31 | } else { |
34 | socket.destroy(); | 32 | socket.destroy(); | ... | ... |
-
Please register or sign in to post a comment