File NetworkInterfaces/Ethernet/EtherBus.ned

Contains:

//
// Copyright (C) 2003 CTIE, Monash University
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//


//
// A generic bus model.
//
// in[i], out[i] gate pairs represent taps. Messages arriving on a tap
// travel on the bus on both directions, and copies of it are sent out
// on every other tap after delays proportional to their distances.
//
// Tap connections should have zero delays and zero data rates!
//
// Messages are not interpreted by the bus model in any way, thus the bus
// model is not specific to Ethernet in any way. Messages may
// represent anything, from the beginning of a frame transmission to
// end (or abortion) of transmission.
//
simple EtherBus
    parameters:
        positions : string,  // positions of taps on the cable in meters, as a sequence
                             // of numbers separated by spaces. If there are too
                             // few values, the distance between the last two positions
                             // is repeated, or 5 meters is used.
        propagationSpeed : numeric,
                             // signal propagation speed on the bus, in m/s
                             // (typically 200,000 m/s)
        writeScalars: bool;  // enable/disable recording statistics in omnetpp.sca
    gates:
        in: in[];    // to stations; each in[k], out[k] pair represents a tap
        out: out[];  // to stations; each in[k], out[k] pair represents a tap
endsimple