1. -- 
  2. --  Uwe R. Zimmer, Australia, September 2011 
  3. -- 
  4.  
  5. with Topologies; use Topologies; 
  6.  
  7. package Routers_Configuration_Structures is 
  8.  
  9.    type Preconfigured_Topologies is (Line, Ring, Star, Fully_Connected, Tree, Mesh, Torus, Hypercube, Cube_Connected_Cycles, Butterfly, Wrap_Around_Butterfly); 
  10.  
  11.    type Test_Modes is (One_To_All, All_to_One); 
  12.  
  13.    type Command_Line_Defaults is record 
  14.       Selected_Topology   : Preconfigured_Topologies := Cube_Connected_Cycles; 
  15.       Size                : Positive                := 20; 
  16.       Degree              : Positive                := 3; 
  17.       Depths              : Positive                := 4; 
  18.       Dimension           : Positive                := 3; 
  19.       Print_Connections   : Boolean                 := True; 
  20.       Print_Distances     : Boolean                 := True; 
  21.       Routers_Settle_Time : Duration                := 0.1; 
  22.       Comms_Timeout       : Duration                := 0.1; 
  23.       Test_Mode           : Test_Modes              := One_To_All; 
  24.    end record; 
  25.  
  26.    function Get_Topology (Command_Line_Parameters : Command_Line_Defaults) return Topology_Kind'Class; 
  27.  
  28. end Routers_Configuration_Structures;