/** * Title: Data Transfer/Routing Simulation

* Description:

* Copyright: Copyright (c) Aaron Morris

* Company: CS522

* @author Aaron Morris * @version //.// */ //package datasend; public class Channel { private int delay; private int ID; private DataHandler source; private DataHandler destination; private Message currentMsg = null; public Channel(int ID,int Delay, DataHandler Src, DataHandler Dest) { delay = Delay; this.ID = ID; source = Src; destination = Dest; } public int getDelay(int Size) { return Size/this.delay+1; } public int getID() { return this.ID; } public void receive(int Time, Message m, EventQueue ev) { SimEvent te = new SimEvent(); currentMsg = m; te = genTransfer(Time+m.getHeaderSize()/this.delay+1,currentMsg); ev.enQueue(te); } public Message send() { return this.currentMsg; } public TransferEvent genTransfer(int time, Message m) { TransferEvent TE; TE = new TransferEvent("FROM",time,m,this.destination,this); return TE; } }