shrub/pkg/arvo
fang 1d4ee5a7b5
eyre: kick busy subscriptions if client not acking
In order to curb event queue growth when a client for whatever reason
isn't acking the events we send out, we implement a mechanism for
detecting such "clogging", and proactively kick subscriptions which are
adding too many events to the queue.

If the client hasn't sent an ack for ~s30, any subscription that accrues
more than 50 unacked %facts gets closed to prevent further buildup.

Upon reconnecting, the client will see %kick for the relevant
subscriptions and can open a new subscription as appropriate.

Includes a simple test for this behavior, and updates /app/dbug to be
able to display the newly tracked statistics.
2020-10-19 15:56:05 +02:00
..
app eyre: kick busy subscriptions if client not acking 2020-10-19 15:56:05 +02:00
gen Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
lib Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
mar Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
ren various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
sur acme: remove last %hall import and remove sur file 2020-10-01 21:49:16 -05:00
sys eyre: kick busy subscriptions if client not acking 2020-10-19 15:56:05 +02:00
ted Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
tests eyre: kick busy subscriptions if client not acking 2020-10-19 15:56:05 +02:00
.gitattributes gitattributes: export-ignore additions [ci skip] 2020-02-01 17:40:27 +04:00
.ignore Write top-level pier code; hook up Ames and Behn. 2019-07-31 19:34:14 -07:00
LICENSE.txt Pull in latest v0.8.0.rc changes 2019-07-16 15:59:39 -07:00
README.md readme: improve clarity of phrasing around testing 2020-09-28 18:49:37 +02:00
TESTING.udon Pull in latest v0.8.0.rc changes 2019-07-16 15:59:39 -07:00

Arvo

A clean-slate operating system.

Usage

To run Arvo, you'll need Urbit. To install Urbit and run Arvo please follow the instructions in the getting started docs. You'll be on the live network in a few minutes.

If you're doing development on Arvo, keep reading.

Documentation

Find Arvo's documentation on urbit.org.

Development

To boot a fake ship from your development files, run urbit with the following arguments:

urbit -F zod -A /path/to/arvo -c fakezod

Mount Arvo's filesystem allows you to update its contents through Unix. To do so, run |mount in dojo. It is most common to |mount /=home=.

To create a custom pill (bootstrapping object) from the files loaded into the home desk, run .my/pill +solid. Your pill will appear in /path/to/fakezod/.urb/put/my.pill.

To boot a fake ship with a custom pill, use the -B flag:

urbit -F zod -A /path/to/arvo -B /path/to.pill -c fakezod

To run all tests in /tests, run -test %/tests in dojo. To run only the tests in /tests/some/path, use -test %/tests/some/path.

Maintainers

Most parts of Arvo have dedicated maintainers.

  • /sys/hoon: @pilfer-pandex (~pilfer-pandex)
  • /sys/zuse: @pilfer-pandex (~pilfer-pandex)
  • /sys/arvo: @joemfb (~master-morzod)
  • /sys/vane/ames: @belisarius222 (~rovnys-ricfer) & @philipcmonk (~wicdev-wisryt)
  • /sys/vane/behn: @belisarius222 (~rovnys-ricfer)
  • /sys/vane/clay: @philipcmonk (~wicdev-wisryt) & @belisarius222 (~rovnys-ricfer)
  • /sys/vane/dill: @joemfb (~master-morzod)
  • /sys/vane/eyre: @eglaysher (~littel-ponnys)
  • /sys/vane/gall: @philipcmonk (~wicdev-wisryt)
  • /sys/vane/jael: @fang- (~palfun-foslup) & @philipcmonk (~wicdev-wisryt)
  • /app/acme: @joemfb (~master-morzod)
  • /app/dns: @joemfb (~master-morzod)
  • /app/aqua: @philipcmonk (~wicdev-wisryt)
  • /app/hood: @belisarius222 (~rovnys-ricfer)
  • /lib/hood/drum: @philipcmonk (~wicdev-wisryt)
  • /lib/hood/kiln: @philipcmonk (~wicdev-wisryt)
  • /lib/test: @eglaysher (~littel-ponnys)

Contributing

Contributions of any form are more than welcome! Please take a look at our contributing guidelines for details on our git practices, coding styles, how we manage issues, and so on.

You might also be interested in: