Merge branch 'ames-larva-report'

* ames-larva-report:
  vere: filter ames by protocol #
  vere: filter old packets
  ames: send larval crashes to dill
  ames: dequeue failed larval timer
  ames: print and retry larval crashes

Signed-off-by: Jared Tobin <jared@tlon.io>
This commit is contained in:
Jared Tobin 2019-12-05 02:24:25 +08:00
commit d9ad5c141a
No known key found for this signature in database
GPG Key ID: 0E4647D58F8A69E4
4 changed files with 30 additions and 4 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b5e6792a827754fd31d7cc2a6054920ce47efae44bca09775c7e04fb9c3711a
size 7143125
oid sha256:4faacbf1212e83ca6952195cb718df42e6d82be7bb809bbfc2e9da74b6f4ea61
size 7143502

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4416fd52a3422ca29cdfb88b313a38b11d1468d6b7db884e103f11dc2450597
size 9492136
oid sha256:7352e0e38fd21e291b66c607b3971b448a6d738fece48a60c8158b7be3678489
size 9502771

View File

@ -892,6 +892,27 @@
?. ?=([%b %wake *] sign)
~> %slog.0^leaf/"ames: larva: strange sign"
[~ larval-gate]
:: if crashed, print, dequeue, and set next drainage timer
::
:: TODO: cleanup duplicate iteration logic
::
?^ error.sign
=. queued-events +:~(get to queued-events)
:: .queued-events has been cleared; metamorphose
::
?~ queued-events
~> %slog.0^leaf/"ames: metamorphosis"
[~ adult-gate]
:: set timer to drain next event
::
=/ moves
=/ =tang [leaf/"ames: larva: drain crash" u.error.sign]
:~ [duct %pass /larva-crash %d %flog %crud %larva tang]
[duct %pass /larva %b %wait now]
==
[moves larval-gate]
:: normal drain timer; dequeue and run event
::
=^ first-event queued-events ~(get to queued-events)
=^ moves adult-gate
?- -.first-event

View File

@ -374,6 +374,11 @@ _ames_recv_cb(uv_udp_t* wax_u,
if ( 0 == nrd_i ) {
_ames_free(buf_u->base);
}
// check protocol version in header matches 0
//
else if ( 0 != (0x7 & *((c3_w*)buf_u->base)) ) {
_ames_free(buf_u->base);
}
else {
{
u3_noun msg = u3i_bytes((c3_w)nrd_i, (c3_y*)buf_u->base);