Reorder alternatives to fail by default #11
Loading…
Reference in New Issue
No description provided.
Delete Branch "ehmry/syndicate-protocols:close-on-fail"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Order alternatives such that a language runtime that initializes
objects to the first alternative will initialize fresh objects in
a "fail closed" rather than a "fail open" state.
The bundle was generated with a different compiler but it should match the output of the Javascript compiler.
6b39affde1
to7b3facfb78
Most of these make sense, but for some, there's no natural notion of a "default" that would make sense. I've put a note on the ones I'm unsure about. (To be clear: this is more a request for discussion than changes per se. The PR is in principle mergeable as it stands I believe.)
@ -1,6 +1,6 @@
version 1 .
Packet = Turn / Error / Extension / Nop .
Packet = Error / Turn / Extension / Nop .
Does it make more sense for the default to be an error (which requires a message! ... the default of which would presumably be the empty string??) or an empty turn with no events? I'd argue the latter.
@ -29,2 +29,4 @@
# Possible service states.
State =
/ # The service has failed.
=failed
This one I'm unsure about. Is the "default" state more likely to be "failed" or "started"? Does "default" even make sense here? ... Perhaps I'm misunderstanding the constraints leading to this pull request!
@ -38,3 +38,3 @@
# embodies 1st-party caveats over assertion structure, but nothing else
# can add 3rd-party caveats and richer predicates later
Caveat = Rewrite / Alts / Reject / @unknown any .
Caveat = Reject / Rewrite / Alts / @unknown any .
This one definitely feels like the idea of a "default" or zero value is inappropriate for.
@ -3,3 +3,3 @@
SetTimer = <set-timer @label any @seconds double @kind TimerKind>.
TimerExpired = <timer-expired @label any @seconds double>.
TimerKind = =relative / =absolute / =clear .
TimerKind = =clear / =relative / =absolute .
Similarly, there's no obvious default action here. (Though the timer protocol is ripe for wholesale revision anyway... sleeping and delays and timeouts are good candidates for inclusion in a core Turn interface. Clocks still need a protocol.)
7b3facfb78
to27c7bbfd27
The first patch I took it to the max. I force pushed a more conservative patch.
27c7bbfd27
to464605bb1d
Step 1:
From your project repository, check out a new branch and test the changes.Step 2:
Merge the changes and update on Forgejo.