21 namespace TTEthernetModel {
41 if (msg->arrivedOn(
"in"))
45 uint32_t currentTicks = tteScheduler->
getTicks();
52 ev.printf(
"Received frame before permanence point of previous frame \n");
53 bubble(
"Received frame before permanence point of previous frame");
54 getDisplayString().setTagArg(
"i2", 0,
"status/excl3");
55 getDisplayString().setTagArg(
"tt", 0,
"WARNING: Received frame before permanence point of previous frame");
56 getParentModule()->getDisplayString().setTagArg(
"i2", 0,
"status/excl3");
57 getParentModule()->getDisplayString().setTagArg(
"tt", 0,
"Problem with Buffer");
62 else if (currentTicks < (uint32_t) par(
"receive_window_start").longValue())
67 ev.printf(
"Received frame in %s too early! Receive Time was %d Ticks, should have been between %d and %d! \n",
68 getName(), currentTicks, par(
"receive_window_start").longValue(),
69 par(
"receive_window_end").longValue());
70 bubble(
"Frame to early");
71 getDisplayString().setTagArg(
"i2", 0,
"status/excl3");
72 getDisplayString().setTagArg(
"tt", 0,
"WARNING: Buffer configuration problem - Received frame too early");
73 getParentModule()->getDisplayString().setTagArg(
"i2", 0,
"status/excl3");
74 getParentModule()->getDisplayString().setTagArg(
"tt", 0,
"WARNING: Buffer configuration problem - Received frame too early");
79 else if (currentTicks > (uint32_t) par(
"receive_window_end").longValue())
84 ev.printf(
"Received frame in %s too late! Receive Time was %d Ticks, should have been between %d and %d! \n",
85 getName(), currentTicks, par(
"receive_window_start").longValue(),
86 par(
"receive_window_end").longValue());
87 bubble(
"Frame to late");
88 getDisplayString().setTagArg(
"i2", 0,
"status/excl3");
89 getDisplayString().setTagArg(
"tt", 0,
"WARNING: Buffer configuration problem - Received frame too late");
90 getParentModule()->getDisplayString().setTagArg(
"i2", 0,
"status/excl3");
91 getParentModule()->getDisplayString().setTagArg(
"tt", 0,
"WARNING: Buffer configuration problem - Received frame too late");
100 getDisplayString().setTagArg(
"i2", 0,
"status/hourglass");
101 frame = (EtherFrame *) msg;
103 event->setAction_time(par(
"permanence_pit").doubleValue());
104 event->setDestinationGate(gate(
"schedulerIn"));
113 getDisplayString().setTagArg(
"i2", 0,
"");