src/mem/ruby/network/garnet/NetworkInterface.cc
/** This function looks at the NI buffers
 *  if some buffer has flits which are ready to traverse the link in the next
 *  cycle, and the downstream output vc associated with this flit has buffers
 *  left, the link is scheduled for the next cycle
 */
This function looks at the NI buffers
if some buffer has flits which are ready to traverse the link in the next
cycle, and the downstream output vc associated with this flit has buffers
left, the link is scheduled for the next cycle
This function looks at the NI buffers if some buffer has flits which are ready to traverse the link in the next cycle and the downstream output vc associated with this flit has buffers left the link is scheduled for the next cycle
void
NetworkInterface::scheduleOutputLink()
{
    for (auto &oPort: outPorts) {
        scheduleOutputPort(oPort);
    }
}
void NetworkInterface :: scheduleOutputLink ( ) { for ( auto & oPort : outPorts ) { scheduleOutputPort ( oPort ) ; } }
This function looks at the NI buffers
  if some buffer has flits which are ready to traverse the link in the next
  cycle, and the downstream output vc associated with this flit has buffers
  left, the link is scheduled for the next cycle
This function looks at the NI buffers if some buffer has flits which are ready to traverse the link in the next cycle and the downstream output vc associated with this flit has buffers left the link is scheduled for the next cycle
// Schedule each output link