Commit graph

65 commits

Author SHA1 Message Date
Starbeamrainbowlabs 2f7374a04b
http /api/status : Add array of known tables 2022-03-10 03:00:20 +00:00
Starbeamrainbowlabs 16509e51a1
tidyup 2022-03-05 03:10:06 +00:00
Starbeamrainbowlabs 5d0e480f1c
InfoBroker: fix make_table_meta 2022-02-26 21:57:36 +00:00
Starbeamrainbowlabs 67a235ad42
InfoBroker: Add cpu_live 2022-02-26 19:19:36 +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 19ea1ff428
SystemQueryy: Add version & commit properties 2022-02-24 01:27:41 +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 e4a381b915
remove debug logging 2022-02-21 03:14:57 +00:00
Starbeamrainbowlabs de0b5893ac
add comments 2022-02-21 03:14:41 +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 3f26696056
Connection: Implement sequence numbering system to avoid replay attacks 2022-02-12 01:53:31 +00:00
Starbeamrainbowlabs a01792d2d5
SystemQuery: Fix crash due to bad import for logging 2022-02-12 01:53:12 +00:00
Starbeamrainbowlabs 837804ec22
Connection: Update comment on replay attack
We still have the same problem, but solution do it is much simpler than 
we first thought....
2022-02-11 21:23:54 +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 1e76226177
Connection: the issue at hand is more complicated than it first appears, as usual 2022-02-09 03:14:26 +00:00
Starbeamrainbowlabs a736acc1b7
SystemQuery: start filling out fetch_table properly, but it's still unfinished
...hey, at least we know what we're doing nwo and have a plan!
2022-02-09 03:06:52 +00:00
Starbeamrainbowlabs 97da517a0e
Connection: oops, we're vulnerable to a replay attack 2022-02-09 03:03:45 +00:00
Starbeamrainbowlabs 3bdbad150c
Fill out ItemQueue implementation 2022-02-09 01:53:29 +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 15bdcaf047
SystemQuery: layout some stuff, but it's really just scaffolding at the moment.
We've not even sure if this is the right way t go about tackling this 
problem.
2022-01-31 03:06:34 +00:00
Starbeamrainbowlabs 9ac878f261
InfoBroker: add initial meta table.
This particular table contains information about the currently running 
systemquery instance.

TODO: Add other interesting things such as # of connected peers etc.
2022-01-31 03:05:12 +00:00
Starbeamrainbowlabs 7e42698317
SystemQuery: Remove unnecessary import 2022-01-31 02:46:37 +00:00
Starbeamrainbowlabs e63111e64f
Add based query response system, info broker
The new InfoBroker class' job is to fetch system information and return 
it in a standardised format.
2022-01-30 00:51:28 +00:00
Starbeamrainbowlabs bee1ffc2de
Remove placeholder RaftSubsystem class - we're not using Raft here 2022-01-30 00:50:40 +00:00
Starbeamrainbowlabs 1270a39808
Add new top-level class: Agent → SystemQuery
depth++!
2022-01-23 19:51:23 +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 10cdd5be68
Add namespaced logging system, but it isn't actually used yet 2022-01-09 15:07:33 +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