-
Notifications
You must be signed in to change notification settings - Fork 355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] mesa: add Directed Messaging protocol #6932
base: next/kelvin/410
Are you sure you want to change the base?
Conversation
Adds a new endpoint to the verb wrapper library that gives more detail about events happening to agents. This includes sequence numbers, timestamps, source ship, mug hashes for incoming data, and a summary of the resulting effects.
A utility agent that can be told to watch agents. Doing so will make it subscribe to that agent's "verb plus" events. Verb-logger buffers those, and flushes them to unix disk in a json format periodically. Tools for viewing these logs still in development...
We ran into an issue decrypting a specific path with the
cc: @joemfb @lukechampine Expand code
|
Ok, I investigated this, and the root cause was using I've rectified this in As you might suspect, this same bug also affects encryption of the message bodies. For now, I've cheated by using |
Include the mug for poke data, mark for facts, separate out the on-agent sign explicitly.
Using the timestamp of the first event, instead of the start of the time block. Also narrow the time block down from a day to an hour, for faster log writes. Further experimentation needed here.
note: %ames routes are currently broken, so any attempts to boot on live network may contact unrelated ships to the actual request we are sending. (when booting a fakeship, using the mesa-live-solid.pill use |pass [%a %load %mesa])
(note: added a mesa-solid-live.pill that allows you to boot a live ship using the binary built from vere/yu/mesa)
TODO:
vere [ ]
dropped packet (authentication)
arvo [ ]
++send-blob
?=(~ .next)
lane is direct, otherwise add all .next to route.peeryu/rate
branchev-make-pact
the responder in[=wire resp=$>(?(%boon %noon) gift)]
—check what other gifts %clay gives to %ames=task ((harden task) wrapped-task)
handled properly
Open questions:
DONE:
vere
%page
using the%mess-ser
task(it currently usessee task bellow%mess %page
)arvo
store private key in state
|hi ~zod
($poke via %chum)-meen ~zod /c/x/1/sys/kelvin
($peek via %publ)-meen ~zod /c/x/1/sys/kelvin [~ key=1 sec=0x0]
($peek via %shut)hunk
namespace for batches of fragmentsfix wrong "fragment" inject for "fake" jumbo packets
meet %alien(s)
comet attestation
read the attestation proof from the comet's namespace. There needs to be
a special case for %alien comets that we pretend to know, so we can add the
path into the pit to track it—this is a bit of a hack and might be fragile because
of the way we need to check that we have bunted the state of the chum comet
refactor flow paths (remove
+dire=?(%for %bak)
, use plea/ack-plea boon/ack-boon)rethink %mesa-ser task, %mesa-response gift
test +peek cancel (%yawn/%wham)
fix %alien migrationg (fix: re-retrieving public-keys on %prod if %alien or missing_
fix state from .peers not being deleted after migration
fix missing /pump timers (at least on first attemp; %prod puts them back)
refactor per=[=ship sat=ship-state] in mesa core
%alien +peeks
For a 6-fragment message, I'm seeing a failure in decrypting the path (%heer crash), then after proding and retrying, the message comes is, |hi succesful, poke acknowleged, entries from the .pit (for both) removed... and then bail: oops on the receiver of the |hi
subscriptions
mem
from the state parameters?%near
task?remote scry
Full end-to-end test
subscribe wire not unique
(for/gangs/index/~fen
)spider crash
subscribe wire not unique
(for/gangs/index/~fen
)system taks
mem
from$axle
?system gifts
%near(only in %ames, captured by the used wire in +take)Migration
$%
vane (currently used for pre-cork ships)plea/[vane=%$ path=/mesa payload=%ahoy]
, on a wire controlled by %ames.%ahoy
%plea
.merge last jb/dire commit
...
merge jb/dire branch to keep git history