Beginning of channel.credit support. Tests pass, except for drain=true.
Support drain (probably in a rather inefficient way).
Credit needs to be per ctag.
Return a basic.credit-state after receiving a basic.credit.
Send a credit-state when magical draining happens.
Change mind again on how this should work - have a synchronous reply method, and an async method for spontaneous notification.
Remove redundant fields from credit-ok.
Use a base for basic.credit, to account for messages that have been delivered but not received by the client
Remove io:format
Separate calculating the credit from updating the state, and do it properly.
Use serial number arithmetic for credit
Merge in default
Merge in default.
...and unbreak.
Face down, nine-edge first.
Remove some dead TODOs from when this was very young.
Merge in default
Merge in default. Many conflicts unhappy face
Rectify some poor conflict resolution choices.
And correct specs