interface.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  interface.h
00005  *
00006  *    Description:  
00007  *
00008  *        Version:  1.0
00009  *        Created:  02/18/2010 11:28:55 PM
00010  *       Revision:  none
00011  *       Compiler:  gcc
00012  *
00013  *         Author:  Mitchelle Rasquinha (), mitchelle.rasquinha@gatech.edu
00014  *        Company:  Georgia Institute of Technology
00015  *
00016  * =====================================================================================
00017  */
00018 #ifndef  _interface_h_INC
00019 #define  _interface_h_INC
00020 
00021 #include        "networkComponent.h"
00022 #include        "buffer.h"
00023 #include        "irisLink.h"
00024 #include        "../../data_types/impl/irisEvent.h"
00025 
00026 /*
00027  * =====================================================================================
00028  *        Class:  Interface
00029  *  Description:  
00030  * =====================================================================================
00031  */
00032 class Interface: public NetworkComponent
00033 {
00034     public:
00035         NetworkComponent* processor_connection;
00036         IrisLink* input_connection;
00037         IrisLink* output_connection;
00038         Interface ();                             /* constructor */
00039         virtual ~Interface();
00040         virtual string toString () const;
00041         virtual void setup(uint a, uint cr, uint bs) = 0;
00042         virtual void set_no_credits( int cr ) = 0;
00043         virtual void set_buffer_size( uint cr ) = 0;
00044         virtual void set_no_vcs( uint cr ) = 0;
00045         virtual void process_event( IrisEvent* e) = 0;
00046         virtual string print_stats () = 0;
00047         virtual ullint get_packets_out () = 0;
00048         virtual ullint get_packets() = 0;
00049         virtual ullint get_flits_out () = 0;
00050 
00051     protected:
00052 
00053     private:
00054 
00055 }; /* -----  end of class Interface  ----- */
00056 
00057 #endif   /* ----- #ifndef _interface_h_INC  ----- */

Generated on Tue Oct 19 17:22:00 2010 for IRIS by  doxygen 1.5.8