migration: correcting take-migrate ship
++ on-agent
|= [=wire =sign:agent:gall]
^- (quip card _this)
+ ~& src.bol
=^ cards state
?+ wire [- state]:(on-agent:def wire sign)
[%pyre *] (take-pyre:gc t.wire sign)
- [%gladio @ ~] (take-migrate:gc sign)
+ [%gladio @ ~] (take-migrate:gc (scot %p i.t.wire) sign)
::
[%try-rejoin @ *]
?> ?=(%poke-ack -.sign)
^- (quip card _state)
=^ cards-1=(list card) wait
~(migrate-start gladio bol)
+ ~& wait
=/ cards-2=(list card)
%+ turn ~(tap in wait)
|= =ship
[%pass / %pyre leaf/"{<wire>} failed" u.p.sign]~
::
++ take-migrate
- |= =sign:agent:gall
+ |= [=ship =sign:agent:gall]
^- (quip card _state)
- ~& migrating/src.bol
+ ~& [migrating ship src.bol]
?: ?=(%poke-ack -.sign)
`state
- :_ state(wait (~(del in wait) src.bol))
+ :_ state(wait (~(del in wait) ship))
^- (list card)
- %+ welp (~(migrate-ship gladio bol) src.bol)
+ %+ welp (~(migrate-ship gladio bol) ship)
?: ?=(%kick -.sign) :: TODO: check queued watches don't get kicked
*(list card)
:_ *(list card)
- [%pass /gladio/(scot %p src.bol) %agent [src.bol %groups] %leave ~]
+ [%pass /gladio/(scot %p ship) %agent [ship %groups] %leave ~]
::
++ peek-group
|= rid=resource
