
Checkpoint
./server.js:13690106/2267
Showing
1 changed file
with
17 additions
and
19 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; |
18 | if (lru.has(pathname)){ | 16 | if (pathname){ |
19 | 17 | if (lru.has(pathname)){ | |
20 | } else { | 18 | // Existing Node |
21 | var gun = Gun({peers:[], ws: { noServer: true}}); | 19 | gun = await lru.get(pathname); |
22 | lru.set(pathname,gun); | 20 | } else { |
21 | // Create Node | ||
22 | gun = await Gun({peers:[], ws: { noServer: true}}); | ||
23 | lru.set(pathname,gun); | ||
24 | } | ||
23 | } | 25 | } |
24 | 26 | if (gun){ | |
25 | if (pathname === '/gun1') { | 27 | // Handle Request |
26 | gun1.handleUpgrade(request, socket, head, function (ws) { | 28 | gun.handleUpgrade(request, socket, head, function (ws) { |
27 | gun1.emit('connection', ws); | 29 | gun.emit('connection', ws); |
28 | }); | ||
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