1 import Base 2 import ./world.bend as W 3 import ./system.bend as Sys 4 5 # Private generated transport: heterogenous arguments and results keep their 6 # affine owners. Registration refusal is not a transaction failure. 7 type Arguments is Type: 8 ComponentArgs{value:Component & U32} 9 ResourceArgs{value:Resource} 10 type Error is Data: 11 ComponentError{value:Component} 12 ResourceError{value:Resource} 13 type Output is Type: 14 ComponentOutput{value:List<&2,Component>} 15 ResourceOutput{value:Resource} 16 type DispatchResult is Type: 17 Completed{owners:H,outcome:Sys.Outcome,Failure,Out>} 18 RegistrationRejected{owners:H,world:W.World,args:Args} 19 UnknownSystem{owners:H,world:W.World,id:U32}