亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? network.cc

?? Nachos是個教學用的小型操作系統
?? CC
字號:
// network.cc //	Routines to simulate a network interface, using UNIX sockets//	to deliver packets between multiple invocations of nachos.////  DO NOT CHANGE -- part of the machine emulation//// Copyright (c) 1992-1996 The Regents of the University of California.// All rights reserved.  See copyright.h for copyright notice and limitation // of liability and disclaimer of warranty provisions.#include "copyright.h"#include "network.h"#include "main.h"//-----------------------------------------------------------------------// NetworkInput::NetworkInput// 	Initialize the simulation for the network input////   	"toCall" is the interrupt handler to call when packet arrives//-----------------------------------------------------------------------NetworkInput::NetworkInput(CallBackObj *toCall){    // set up the stuff to emulate asynchronous interrupts    callWhenAvail = toCall;    packetAvail = FALSE;    inHdr.length = 0;        sock = OpenSocket();    sprintf(sockName, "SOCKET_%d", kernel->hostName);    AssignNameToSocket(sockName, sock);		 // Bind socket to a filename 						 // in the current directory.    // start polling for incoming packets    kernel->interrupt->Schedule(this, NetworkTime, NetworkRecvInt);}//-----------------------------------------------------------------------// NetworkInput::NetworkInput// 	Deallocate the simulation for the network input//		(basically, deallocate the input mailbox)//-----------------------------------------------------------------------NetworkInput::~NetworkInput(){    CloseSocket(sock);    DeAssignNameToSocket(sockName);}//-----------------------------------------------------------------------// NetworkInput::CallBack//	Simulator calls this when a packet may be available to//	be read in from the simulated network.////      First check to make sure packet is available & there's space to//	pull it in.  Then invoke the "callBack" registered by whoever //	wants the packet.//-----------------------------------------------------------------------voidNetworkInput::CallBack(){    // schedule the next time to poll for a packet    kernel->interrupt->Schedule(this, NetworkTime, NetworkRecvInt);    if (inHdr.length != 0) 	// do nothing if packet is already buffered	return;		    if (!PollSocket(sock)) 	// do nothing if no packet to be read	return;    // otherwise, read packet in    char *buffer = new char[MaxWireSize];    ReadFromSocket(sock, buffer, MaxWireSize);    // divide packet into header and data    inHdr = *(PacketHeader *)buffer;    ASSERT((inHdr.to == kernel->hostName) && (inHdr.length <= MaxPacketSize));    bcopy(buffer + sizeof(PacketHeader), inbox, inHdr.length);    delete [] buffer ;    DEBUG(dbgNet, "Network received packet from " << inHdr.from << ", length " << inHdr.length);    kernel->stats->numPacketsRecvd++;    // tell post office that the packet has arrived    callWhenAvail->CallBack();}//-----------------------------------------------------------------------// NetworkInput::Receive// 	Read a packet, if one is buffered//-----------------------------------------------------------------------PacketHeaderNetworkInput::Receive(char* data){    PacketHeader hdr = inHdr;    inHdr.length = 0;    if (hdr.length != 0) {    	bcopy(inbox, data, hdr.length);    }    return hdr;}//-----------------------------------------------------------------------// NetworkOutput::NetworkOutput// 	Initialize the simulation for sending network packets////   	"reliability" says whether we drop packets to emulate unreliable links//   	"toCall" is the interrupt handler to call when next packet can be sent//-----------------------------------------------------------------------NetworkOutput::NetworkOutput(double reliability, CallBackObj *toCall){    if (reliability < 0) chanceToWork = 0;    else if (reliability > 1) chanceToWork = 1;    else chanceToWork = reliability;    // set up the stuff to emulate asynchronous interrupts    callWhenDone = toCall;    sendBusy = FALSE;    sock = OpenSocket();}//-----------------------------------------------------------------------// NetworkOutput::~NetworkOutput// 	Deallocate the simulation for sending network packets//-----------------------------------------------------------------------NetworkOutput::~NetworkOutput(){    CloseSocket(sock);}//-----------------------------------------------------------------------// NetworkOutput::CallBack// 	Called by simulator when another packet can be sent.//-----------------------------------------------------------------------voidNetworkOutput::CallBack(){    sendBusy = FALSE;    kernel->stats->numPacketsSent++;    callWhenDone->CallBack();}//-----------------------------------------------------------------------// NetworkOutput::Send// 	Send a packet into the simulated network, to the destination in hdr.// 	Concatenate hdr and data, and schedule an interrupt to tell the user // 	when the next packet can be sent //// 	Note we always pad out a packet to MaxWireSize before putting it into// 	the socket, because it's simpler at the receive end.//-----------------------------------------------------------------------voidNetworkOutput::Send(PacketHeader hdr, char* data){    char toName[32];    sprintf(toName, "SOCKET_%d", (int)hdr.to);        ASSERT((sendBusy == FALSE) && (hdr.length > 0) && 	(hdr.length <= MaxPacketSize) && (hdr.from == kernel->hostName));    DEBUG(dbgNet, "Sending to addr " << hdr.to << ", length " << hdr.length);    kernel->interrupt->Schedule(this, NetworkTime, NetworkSendInt);    if (RandomNumber() % 100 >= chanceToWork * 100) { // emulate a lost packet	DEBUG(dbgNet, "oops, lost it!");	return;    }    // concatenate hdr and data into a single buffer, and send it out    char *buffer = new char[MaxWireSize];    *(PacketHeader *)buffer = hdr;    bcopy(data, buffer + sizeof(PacketHeader), hdr.length);    SendToSocket(sock, buffer, MaxWireSize, toName);    delete [] buffer;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产二区国产一区在线观看| 国产精品1区2区3区| 亚洲欧美在线另类| 欧美国产精品一区| 国产女同互慰高潮91漫画| 日韩精品一区二区三区视频| 91精品国产色综合久久不卡蜜臀 | 日韩高清一区在线| 亚洲一区二区成人在线观看| 亚洲免费观看高清完整版在线观看| 国产精品国产三级国产| 亚洲欧美日韩综合aⅴ视频| 亚洲免费观看在线视频| 亚洲成人激情自拍| 久久精品国产99国产| 国产精品综合一区二区三区| 国产iv一区二区三区| 97精品久久久午夜一区二区三区 | 日韩在线一区二区| 日本午夜精品视频在线观看| 精品亚洲国内自在自线福利| 国产高清精品久久久久| 91一区二区在线| 欧美日韩国产成人在线91| 日韩小视频在线观看专区| 久久尤物电影视频在线观看| 国产精品国产三级国产aⅴ原创| 一区二区三区欧美日| 日韩精品免费专区| 成人午夜免费av| 欧美日韩国产一二三| 久久婷婷色综合| 亚洲三级在线免费| 青青草精品视频| 99久久婷婷国产综合精品电影 | 精品日韩欧美在线| 国产精品三级视频| 日本sm残虐另类| av电影在线观看完整版一区二区| 欧美亚日韩国产aⅴ精品中极品| 精品国产亚洲一区二区三区在线观看| 中文字幕乱码久久午夜不卡| 香蕉成人伊视频在线观看| 国产成人精品免费一区二区| 欧美日韩精品三区| 日本一二三不卡| 日韩福利电影在线| 91蝌蚪国产九色| 久久久五月婷婷| 免费成人结看片| 欧洲精品一区二区| 欧美日韩高清一区二区不卡| 2021中文字幕一区亚洲| 一区二区三区免费网站| 国产老妇另类xxxxx| 69堂国产成人免费视频| 亚洲色欲色欲www在线观看| 毛片av中文字幕一区二区| 欧洲一区在线电影| 中文字幕乱码一区二区免费| 精品在线免费观看| 欧美一区二区三区四区高清| 一区二区三区小说| 91影视在线播放| 国产三级欧美三级日产三级99| 日韩电影在线看| 在线观看日韩毛片| 亚洲欧美区自拍先锋| 99国产麻豆精品| 中文字幕欧美国产| 成人三级伦理片| 精品国产露脸精彩对白| 蜜桃视频在线一区| 日韩欧美国产1| 精品一区二区三区免费播放 | 麻豆国产欧美日韩综合精品二区 | 91视频在线看| 国产精品久久久久久久久免费丝袜| 久久成人18免费观看| 欧美丰满少妇xxxbbb| 午夜精品久久久久久久久久| 在线播放中文一区| 蜜桃一区二区三区在线| 在线成人免费观看| 久久激情五月激情| 久久综合九色综合97_久久久| 久久97超碰国产精品超碰| 精品国产乱码久久久久久浪潮| 久草中文综合在线| 国产午夜精品一区二区| 99久久婷婷国产综合精品| 亚洲一区视频在线观看视频| 欧美精品乱码久久久久久按摩| 三级欧美在线一区| 精品国产一区久久| 成人不卡免费av| 一区二区三区四区av| 欧美一区二区三区精品| 国产激情视频一区二区在线观看 | 99国产精品久久久久| 亚洲人午夜精品天堂一二香蕉| 欧美性生活久久| 经典一区二区三区| 亚洲欧美日韩国产综合| 91精品国产欧美一区二区成人| 狠狠色综合播放一区二区| 亚洲人成网站色在线观看 | 免费观看成人av| 国产亚洲人成网站| 日本精品裸体写真集在线观看| 日本欧美在线看| 国产亚洲精品7777| 欧美三级午夜理伦三级中视频| 亚洲精品久久7777| 337p亚洲精品色噜噜| 国产成人在线观看| 亚洲成av人片在线观看| 国产精品国产三级国产aⅴ原创 | 日产欧产美韩系列久久99| 欧美成人性福生活免费看| 成人91在线观看| 日韩国产欧美三级| **欧美大码日韩| 精品久久久久久久久久久院品网| av电影一区二区| 麻豆精品国产传媒mv男同 | 91麻豆精品国产91久久久 | 日韩女优制服丝袜电影| 99久久精品国产一区| 精品一区二区免费在线观看| 亚洲欧美日韩成人高清在线一区| 日韩美女在线视频| 欧美三级电影在线看| 国产二区国产一区在线观看| 日韩电影在线观看电影| 亚洲精品乱码久久久久| 国产精品美女久久久久久2018| 日韩欧美一级二级| 欧美电影一区二区三区| 欧美三片在线视频观看| 91原创在线视频| 成人免费视频网站在线观看| 国模冰冰炮一区二区| 久久丁香综合五月国产三级网站 | 欧美性videosxxxxx| 成人性生交大合| 国产传媒久久文化传媒| 精品一区二区av| 久久成人精品无人区| 久久9热精品视频| 丝袜美腿亚洲一区| 天天亚洲美女在线视频| 日韩福利视频导航| 日韩电影在线一区二区| 日韩av在线播放中文字幕| 视频一区视频二区在线观看| 亚洲国产精品嫩草影院| 亚洲视频一区在线| 自拍视频在线观看一区二区| 中文字幕一区在线| 亚洲精品一二三| 亚洲一二三区视频在线观看| 亚洲欧美另类久久久精品2019 | 欧美色涩在线第一页| 一本到高清视频免费精品| 一本色道亚洲精品aⅴ| 91成人在线精品| 91麻豆精品国产91久久久资源速度| 7777精品伊人久久久大香线蕉 | 丁香婷婷综合色啪| 成人精品电影在线观看| 色狠狠色狠狠综合| 欧美精品免费视频| 2014亚洲片线观看视频免费| 久久久久久久久久久电影| 国产精品久久久久久久久免费丝袜 | 一本色道久久综合狠狠躁的推荐 | 日本欧洲一区二区| 国产美女主播视频一区| 91网站在线观看视频| 欧美日韩在线精品一区二区三区激情| 欧美人与z0zoxxxx视频| 欧美tickling挠脚心丨vk| 亚洲国产精品t66y| 亚洲成人av福利| 国产精品自拍网站| 在线亚洲精品福利网址导航| 欧美成人a在线| 亚洲色图视频免费播放| 日本视频免费一区| 99视频超级精品| 日韩欧美一二区| 136国产福利精品导航| 日韩成人午夜电影| 成人动漫av在线| 欧美成人午夜电影| 亚洲成人午夜电影| 成人动漫一区二区三区| 欧美大片在线观看| 亚洲黄色尤物视频|