00001 //---/** 00002 //--- * Network objects. 00003 //--- * @author J. Vozmediano 00004 //--- * @date 2003 02 00005 //--- * @bugs jvt@trajano.us.es 00006 //--- * 00007 //--- */ 00008 //--- #ifndef NETWORK_H 00009 //--- #define NETWORK_H 00010 //--- 00011 //--- #include "netelem.h" 00012 //--- 00013 //--- class BiLink; 00014 //--- class Node; 00015 //--- class Application; 00016 //--- 00017 //--- 00018 //--- class BiLink 00019 //--- { 00020 //--- public: 00021 //--- BiLink (char* name, double rBin, int qsize=-1, timeunits delay =0, 00022 //--- queuediscipline discipline = fifo, unsigned int mtu = 0); 00023 //--- virtual ~BiLink(); 00024 //--- bool GetEndPoint (NetElement*& in, NetElement*& out); 00025 //--- 00026 //--- private: 00027 //--- Server* S1_; 00028 //--- Server* S2_; 00029 //--- }; 00030 //--- 00031 //--- 00032 //--- class Application 00033 //--- { 00034 //--- private: 00035 //--- NetElement* src_; 00036 //--- NetElement* snk_; 00037 //--- 00038 //--- public: 00039 //--- Application(NetElement* src, NetElement* sink, timeunits startat); 00040 //--- Application(NetElement* src, timeunits startat = 0); 00041 //--- ~Application(); 00042 //--- 00043 //--- void Attach (BiLink* bl); 00044 //--- }; 00045 //--- 00046 //--- 00047 //--- class Node { 00048 //--- public: 00049 //--- Node (); 00050 //--- void Attach (BiLink* link); 00051 //--- 00052 //--- private: 00053 //--- vector <NetElement*> in_; 00054 //--- vector <NetElement*> out_; 00055 //--- }; 00056 //--- 00057 //--- #endif 00058 //---