channel CIO_AddCustomer {
out customers(db:Map, addCustomer(uid:Str, off:Str)) = insert(db, uid, {"off": off})
}
channel CIO_AddCampany {
out companies(db:Map, addCampany(cid:Str, add:Str)) = insert(db, cid, {"add": add})
}
channel CIO_SetCustomerOff(uid:Str) {
out customers.{uid}.off(cid:Str, setOff(cid2)) = cid2
}
channel CIO_SetCompanyAdd(cid:Str) {
out companies.{cid}.add(a1:Str, setAdd(a2)) = a2
}
channel C(uid:Str) {
in customers.{uid}.off(cid, sync(cid2, add2)) = cid2
in companies.{cid2}.add(a1, sync(cid2, add2)) = add2
out customers.{uid}.add(a3:Str, sync(cid2, add2)) = add2
}