Starbeamrainbowlabs
56939dcc24
Properly deduplicate connections.
...
By assigning a random connection ID during the initial hello that's both
unique to every new connection regardless of target and consistent
across both the connection initiator and acceptor, we can do string
comparison to determine which string is greater than the other. In doing
so, we can ensur the same connection is always terminated, thereby
avoiding closing both connections by accident.
2022-03-15 00:28:27 +00:00
Starbeamrainbowlabs
2f7374a04b
http /api/status : Add array of known tables
2022-03-10 03:00:20 +00:00
Starbeamrainbowlabs
7e5b0725e9
PeerServer, Peer: Fully support exchanging friendly names
...
....we should have done this a while back :P
This doesn't change logging messages though
2022-02-26 00:20:58 +00:00
Starbeamrainbowlabs
a62c8e6b4e
route /api/table/table_name: Add explicit end event to end of stream
...
....othehrwise the browser will continue attempting to reconnect :-/
2022-02-25 03:22:19 +00:00
Starbeamrainbowlabs
181e3c692d
comment debug logging
2022-02-25 03:21:10 +00:00
Starbeamrainbowlabs
ecdd52561a
routes: add /api/status
2022-02-24 01:28:03 +00:00
Starbeamrainbowlabs
c9ac3ea108
SystemQuery, Agent, PeerServer: Add listening property
2022-02-24 01:27:14 +00:00
Starbeamrainbowlabs
d5a9668e17
Serve static files
2022-02-24 00:39:33 +00:00
Starbeamrainbowlabs
da33a146e2
Manage duplicate connections more effectively.
...
Thebroadcast function now transparently avoids sending the same message
to the same peer over multiple connections at once.
2022-02-21 21:55:20 +00:00
Starbeamrainbowlabs
3819f8c61a
It works! Wooo!
...
...almost. We still need to ask ourselves for a table too haha
2022-02-21 03:10:49 +00:00
Starbeamrainbowlabs
f320617117
Implement initial http table_fetch endpoint, but it's not working right
2022-02-12 16:27:50 +00:00
Starbeamrainbowlabs
1c5f5fb37a
Start setting things up for the HTTP subsystem, but we've got a ways to go
2022-02-10 21:42:53 +00:00
Starbeamrainbowlabs
44d64c09d0
Start unwinding the incoming tables from other peers, but it's gonna be a nasty and complicated business
2022-02-01 03:05:27 +00:00
Starbeamrainbowlabs
16f23e6b77
Agent: refactor such that it can be used as a base class
...
In the future, this will make it much easier to refactor into a
library.
The plan is to allow Agent to have subsystems, but only those which are
related to managing peer-to-peer message and not application-specific
stuff. For example, wemight have a MeshRouting subsystem that listens
for messages and conditionally forwards them based on the content of the
message.
2022-01-22 14:22:06 +00:00
Starbeamrainbowlabs
453ecb58bb
tweak logging
2022-01-20 19:28:53 +00:00
Starbeamrainbowlabs
1091f9c3c2
Exchange peerlists
2022-01-09 20:28:58 +00:00
Starbeamrainbowlabs
61b830121e
tweak comment
2022-01-09 17:47:19 +00:00
Starbeamrainbowlabs
a9a7320a1e
Make disconnects graceful
2022-01-09 17:46:43 +00:00
Starbeamrainbowlabs
43fed309dc
Disconnect duplicate connections
2022-01-09 17:37:06 +00:00
Starbeamrainbowlabs
e4c01ae828
Fix PeerServer API bugs
2022-01-09 17:02:26 +00:00
Starbeamrainbowlabs
63b698573f
Debug connectiono system
2022-01-09 16:57:07 +00:00
Starbeamrainbowlabs
53b0d661a9
replace logging system
...
...I'm so picky
2022-01-09 16:30:42 +00:00
Starbeamrainbowlabs
306180d9d8
Another day, another set of bugs
2022-01-09 00:57:06 +00:00
Starbeamrainbowlabs
c5e2d31c47
A bugfixing we are going.... not there just yet though
2022-01-08 23:47:52 +00:00
Starbeamrainbowlabs
bfdb23b935
fix moar bugz
2022-01-08 21:55:18 +00:00
Starbeamrainbowlabs
19f2003fbf
Fix some bugs, write some comments
2022-01-08 21:37:03 +00:00
Starbeamrainbowlabs
046821f0ac
add failed connection attempt logging
2022-01-08 17:29:09 +00:00
Starbeamrainbowlabs
135b2e8d1b
Write a bunch more glue code
...
....but it's all still untested. I'm getting kinda nervous here
2022-01-08 16:59:08 +00:00
Starbeamrainbowlabs
2c56514a88
add comment
2021-12-27 18:34:44 +00:00
Starbeamrainbowlabs
61bf2a27db
Implement stubs to remind us what to do next
...
We need a way to message our peers easily and flexibly.
2021-10-19 02:43:55 +01:00
Starbeamrainbowlabs
cf7451dcf2
Wire up peer handing in PeerServer
...
Going to be a heck fo a stack trace if it crashes though.....
Agent → .... → PeerServer → Peer → Connection → FramedTransport → {
rekey, StreamHelpers }
2021-10-19 02:36:22 +01:00
Starbeamrainbowlabs
32dec3049f
Peer: we can use async/await for the initial handshake
...
events.once(emitter, eventname) makes it so much more concise!
2021-10-09 18:13:34 +01:00
Starbeamrainbowlabs
6f181971e3
Implement simple peer system, but it's untested.
...
Next step is to exchange peers.
2021-10-09 18:00:54 +01:00
Starbeamrainbowlabs
a2d2b58b38
hey, we have basic starttls! Though it's not wired up yet.
2021-10-02 01:16:34 +01:00