protected final <P extends PortType> void answer(Direct.Request req, Direct.Response resp) { req.getOrigin().doTrigger(resp, core.wid, core); }
protected final <P extends PortType> void answer(Direct.Request event) { if (!event.hasResponse()) { logger.warn("Can't trigger a response for {} since none was given!", event); return; } event.getOrigin().doTrigger(event.getResponse(), core.wid, core); }
/** * Trigger. * * @param event the event * @param port the port */ protected final <P extends PortType> void trigger(KompicsEvent event, Port<P> port) { if (event instanceof Direct.Request) { Direct.Request r = (Direct.Request) event; r.setOrigin(port.getPair()); logger.trace("Set port on request {} to {}", r, r.getOrigin()); } else if (event instanceof Direct.Response) { throw new KompicsException("Direct.Response can not be \"trigger\"ed. It has to \"answer\" a Direct.Request!"); } // System.out.println(this.getClass()+": "+event+" triggert on "+port); port.doTrigger(event, core.wid, core); }