# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # from fedsim import Sim sim = Sim() b1 = sim.addBroker("B1") b2 = sim.addBroker("B2") b3 = sim.addBroker("B3") b4 = sim.addBroker("B4") b5 = sim.addBroker("B5") b6 = sim.addBroker("B6") b7 = sim.addBroker("B7") b8 = sim.addBroker("B8") c1 = sim.addClient("C1", b1) c3 = sim.addClient("C3", b3) c4 = sim.addClient("C4", b4) c5 = sim.addClient("C5", b5) c8 = sim.addClient("C8", b8) sim.link(b1, b2) sim.link(b3, b2) sim.link(b4, b2) sim.link(b5, b2) sim.link(b6, b7) sim.link(b6, b8) sim.bind(c1, "A") sim.bind(c3, "B") sim.bind(c8, "A") sim.link(b5, b6) sim.bind(c4, "A") sim.sendMessage("A", b1) sim.sendMessage("A", b2) sim.sendMessage("A", b3) sim.sendMessage("A", b4) sim.sendMessage("A", b5) sim.sendMessage("A", b6) sim.sendMessage("A", b7) sim.sendMessage("A", b8) sim.sendMessage("B", b1) sim.sendMessage("B", b2) sim.sendMessage("B", b3) sim.sendMessage("B", b4) sim.sendMessage("B", b5) sim.sendMessage("B", b6) sim.sendMessage("B", b7) sim.sendMessage("B", b8) sim.unbind(c1, "A") sim.sendMessage("A", b1) sim.sendMessage("A", b2) sim.sendMessage("A", b3) sim.sendMessage("A", b4) sim.sendMessage("A", b5) sim.sendMessage("A", b6) sim.sendMessage("A", b7) sim.sendMessage("A", b8) sim.unbind(c4, "A") sim.unbind(c3, "B") sim.unbind(c8, "A") sim.dumpState() sim.end()