📄 scheduler-group.h
字号:
/* Copyright (c) University of Maryland, Baltimore County, 2003. * Original Authors: Ramakrishna Shenai, Sunil Gowda and Krishna Sivalingam. * * This software is developed at the University of Maryland, Baltimore County under * grants from Cisco Systems Inc and the University of Maryland, Baltimore County. * * Permission to use, copy, modify, and distribute this software and its * documentation in source and binary forms for non-commercial purposes * and without fee is hereby granted, provided that the above copyright * notice appear in all copies and that both the copyright notice and * this permission notice appear in supporting documentation. and that * any documentation, advertising materials, and other materials related * to such distribution and use acknowledge that the software was * developed by the University of Maryland, Baltimore County. The name of * the University may not be used to endorse or promote products derived from * this software without specific prior written permission. * * Copyright (C) 2000-2003 Washington State University. All rights reserved. * This software was originally developed at Alcatel USA and subsequently modified * at Washington State University, Pullman, WA through research work which was * supported by Alcatel USA, Inc and Cisco Systems Inc. * The following notice is in adherence to the Washington State University * copyright policy follows. * * License is granted to copy, to use, and to make and to use derivative * works for research and evaluation purposes, provided that Washington * State University is acknowledged in all documentation pertaining to any such * copy or derivative work. Washington State University grants no other * licenses expressed or implied. The Washington State University name * should not be used in any advertising without its written permission. * * WASHINGTON STATE UNIVERSITY MAKES NO REPRESENTATIONS CONCERNING EITHER * THE MERCHANTABILITY OF THIS SOFTWARE OR THE SUITABILITY OF THIS SOFTWARE * FOR ANY PARTICULAR PURPOSE. The software is provided "as is" * without express or implied warranty of any kind. These notices must * be retained in any copies of any part of this software. */#ifndef _scheduler_group_h#define _scheduler_group_husing namespace std;#include <cassert>#include <cstdlib>#include <cstring>#include <iostream>#include "lauc-scheduler.h"class LaucScheduler;/* Scheduler group maintains a list of schedulers on a * one per link basis. (The default scheduler maintained is the * LaucScheduler) */class Scheduler_group{ public: // default constructor Scheduler_group(); // destructor ~Scheduler_group(); // install the LaucScheduler at the specified slot void install( LaucScheduler *obj, u_int slot ); // install LaucScheduler at the next available slot void install( LaucScheduler *obj ); // return the LaucScheduler specified by the slot number or NULL LaucScheduler* getObject( u_int slot ); // search for a LauScheduler based upon its dest-node-id LaucScheduler* search( u_int dest_id ); // diagnostic method void printInfo(); protected: // the slot list LaucScheduler **slot_; // represents the current number of slots u_int currsize_; // add new slots void add_slots( u_int nslots ); // get the next available slot. if the no slots // are available then add new slots and return // a new slot. u_int getNext(); // default size by which the group list grows. static const u_int default_size = 10;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -