Commit Graph

39 Commits

Author SHA1 Message Date
fang
d98c59e73a
zuse: lift moves out of +able 2020-12-08 01:47:06 +01:00
fang
eab88170e2
Merge branch 'jb/motion' into m/de-thereum 2020-12-07 13:42:00 +01:00
fang
25a55c0f63
various: ethereum, azimuth, json-rpc out of zuse
Moves them into files in /lib, and updates dependents accordingly.
2020-12-06 17:26:52 +01:00
Philip Monk
b9fe6af976
jael: don't signal breach if first hearing of ship
When you first boot, if you try talk to someone before your azimuth is
up-to-date (for example by import), then if they've ever breached
(twice) then you'll get breach notification, cancelling your message.

This changes is it so that if we haven't heard anything about this ship,
we don't signal a breach.

The implementation complexity is primarily because we need
eth-watcher/azimuth-tracker to produce an update of a list instead of a
list of updates.  This way, Jael can keep a "state as of the beginning
of this move" variable to check when deciding whether to signal a
breach.
2020-12-04 23:08:47 -08:00
Fang
2223a85666
eth-watcher: separate timeout from refresh-rate
Previously, when the refresh-rate timer activated, and the thread from
the previous activation was still running, we would kill it and start
a new one. For low refresh rates, on slower machines, nodes, or network
connections, this could cause the update to never conclude.

Here we add a timeout-time to eth-watcher's config. If the refresh-rate
timer activates, and a thread exists, but hasn't been running for at
least the specified timeout-time yet, we simply take no action, and wait
for the next refresh timer.

Note that we opted for "at least timeout-time", instead of killing &
restarting directly after the specified timeout-time has passed, to
avoid having to handle an extra timer flow.

In the +on-load logic, we configure the timeout-time for existing
watchdogs as six times the refresh-rate. We want to set
azimuth-tracker's timeout-time to ~m30, and don't care much about other,
less-likely-to-be-active use cases of eth-watcher.
2020-04-01 12:47:38 +02:00
Fang
ae8a57ca25
gall: (list path) in %fact and %kick
Instead of providing a (unit path), allows for (list path), which better
supports the "update to path and subpath cases".

For example, if /things wants updates about everything, and
/things/specific wants updates about the specific thing, they'll both
need to receive a %fact when the specific thing changes.
Previously, these would have been two separate moves. Now, gall handles
the multi-targeting for you.
2019-12-23 13:37:32 +01:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Philip Monk
16d98e5eda
jael: stop ship-to-ship 2019-12-18 11:19:41 -03:30
Philip Monk
18c3e7253b
jael: add "eager" mode to avoid hitting nodes as much 2019-12-18 10:58:00 -03:30
Philip Monk
b51eda4f1e
eth-watcher: be quieter about parse errors 2019-12-04 17:58:00 -08:00
Philip Monk
f30daf5af2
azimuth-tracker: send new-style eth-watcher poke 2019-11-30 17:39:31 -08:00
Fang
bc08e8a09f
eth-watcher: support client-specified refresh rate
Configuration now includes a refresh-rate=@dr, which is used to
determine how long to wait between polling requests.
2019-11-28 16:46:07 +01:00
Philip Monk
6a406e6b29
gall: mall -> gall 2019-11-18 20:36:21 -08:00
Philip Monk
9862dccc0e
mall: age -> app 2019-11-18 19:28:59 -08:00
Philip Monk
ae295d445a
mall: rm old apps for easier merging 2019-11-09 16:53:42 -08:00
Fang
188867b73f
eth: implement azimuth-tracker using eth-watcher
Re-implements the behavior of the previous azimuth-tracker as an app
that pokes and peers eth-watcher. Should have maintained identical
outward semantics to the original.
2019-10-30 20:18:49 +01:00
Fang
cda68b90b9
eth: turn azimuth-tracker into eth-watcher
Uses the logic existing in azimuth-tracker to implement a new
eth-watcher, which can look at Ethereum nodes for _any_ events, as
opposed to exclusively a subset of the Azimuth contract's events.

Azimuth-tracker will be reimplemented as a dependent of this in
forthcoming commits.
2019-10-25 19:25:31 +02:00
Philip Monk
6468fe7a4a
review fixes 2019-08-07 10:46:03 -07:00
Philip Monk
6212422015
kale -> jael 2019-08-06 15:42:37 -07:00
Philip Monk
38fb4fb5a3
remove more printfs 2019-08-05 23:47:16 -07:00
Philip Monk
f4d4d7dfe8
fix full moon-az test 2019-08-05 23:11:40 -07:00
Philip Monk
0adc83ecf6
get pills from aqua 2019-08-05 17:44:52 -07:00
Philip Monk
21e4baa2ed
Merge remote-tracking branch 'origin/master' into philip/kale 2019-08-05 13:02:31 -07:00
Philip Monk
e6f12dba97
remove printfs 2019-08-05 11:40:13 -07:00
Philip Monk
eaae4452c8
remove printfs 2019-08-05 11:39:35 -07:00
Philip Monk
d3d3cecb0b
handle iris error 2019-08-02 10:16:05 -07:00
Philip Monk
583da25e50
add test for sudden breaches 2019-07-30 16:53:40 -07:00
Philip Monk
efd37a1e3c
simplify kale/azimuth-tracker subscription semantics 2019-07-27 21:01:55 -07:00
Philip Monk
f78d755a0d
%breach-sync works with kale 2019-07-27 16:52:28 -07:00
Philip Monk
a47ef9ac77
wip 2019-07-26 20:45:45 -07:00
Philip Monk
577eed93b8
migrate ames to kale 2019-07-26 20:44:43 -07:00
Philip Monk
b19c91dcf0
specialize azimuth-tracker to sets of ships 2019-07-26 20:43:58 -07:00
Philip Monk
93a4160a35
Merge remote-tracking branch 'origin/v0.8.0.rc' into philip/kale 2019-07-22 10:39:15 -07:00
Philip Monk
b21d057b64
zoom sync for azimith-tracker 2019-07-19 15:45:59 -07:00
Philip Monk
994472ece1
azimuth-tracker sends to kale 2019-07-18 17:08:01 -07:00
Philip Monk
408b72b68e
fixed up kale 2019-07-18 15:26:15 -07:00
Philip Monk
c5b73d9c89
fix azimuth-tracker for iris 2019-07-05 13:59:29 -07:00
Philip Monk
5e4bdb3e4e
fix rewinding 2019-07-04 20:53:24 -07:00
Philip Monk
20b357bf07
azimuth-tracker 2019-07-04 18:15:53 -07:00