⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 table.cc

📁 obs网络试验平台
💻 CC
字号:
/* 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. */#include "Table.h"#include "../debug.h"// the lookup table map objectmap <unsigned long, HashEntry*> LookupSwitch::table__;void LookupSwitch::add( u_long burstid, u_long inChannel, u_long outChannel,                  double arrTime, double depTime, double expTime ) {    HashEntry *e = new HashEntry();    e->burstId = burstid;    e->inChannel = inChannel;    e->outChannel = outChannel;    e->arrTime = arrTime;    e->depTime = depTime;    e->expTime = expTime;    add( e );}void LookupSwitch::add( HashEntry* e ) {    table__[e->burstId] = e;}HashEntry* LookupSwitch::lookup( unsigned long key ) { //   map<unsigned long, Entry>::iterator result = table__.find( key ); //   return (*result).second;    if( table__.find( key ) != table__.end() ) {        return  table__.find( key )->second;    } else {        return NULL;    }}HashEntry* LookupSwitch::erase( unsigned long key ) {    HashEntry *result = lookup( key );    if( result != NULL )        table__.erase( key );    return (result);}// Displays the elements of the lookupswitch -used for diagnostic purposes onlyvoid LookupSwitch::showall() {    map<unsigned long, HashEntry*>::const_iterator iter;    for( iter = table__.begin(); iter != table__.end(); iter++ ) {        char s[300];        HashEntry *e = iter->second;        sprintf( s, "bid: %ld, aT: %lf, eT: %lf",  e->burstId,           e->arrTime, e->expTime );        Debug::debug( s );    }}/*int main() {    LookupSwitch ls;    for( int i = 0; i < 200; i++ )        ls.add( i, 0, 0, 1.0, 0.0, 0.0 );    for( int i = 0; i < 201; i++ ) {        ls.erase( i );        Entry e = ls.lookup( i );        if( e.arrTime != 0 ) {            cout << "Found entry " << e.burstId << endl;            cout << "Entry arr time " << e.arrTime << endl;        } else {            cout << "Unable to find entry with key " << i << endl;        }    }    cout << "done" << endl;}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -