00001 /** @file 00002 00003 A brief file description 00004 00005 @section license License 00006 00007 Licensed to the Apache Software Foundation (ASF) under one 00008 or more contributor license agreements. See the NOTICE file 00009 distributed with this work for additional information 00010 regarding copyright ownership. The ASF licenses this file 00011 to you under the Apache License, Version 2.0 (the 00012 "License"); you may not use this file except in compliance 00013 with the License. You may obtain a copy of the License at 00014 00015 http://www.apache.org/licenses/LICENSE-2.0 00016 00017 Unless required by applicable law or agreed to in writing, software 00018 distributed under the License is distributed on an "AS IS" BASIS, 00019 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00020 See the License for the specific language governing permissions and 00021 limitations under the License. 00022 */ 00023 00024 /**************************************************************************** 00025 00026 UnixNetState.h 00027 00028 00029 NetState 00030 00031 State information for a particular channel of a NetVConnection 00032 This information is private to the Net module. It is only here 00033 because of the the C++ compiler needs it to define NetVConnection. 00034 00035 Shared with Cluster.cc 00036 00037 00038 00039 ****************************************************************************/ 00040 #if !defined (_UnixNetState_h_) 00041 #define _UnixNetState_h_ 00042 00043 #include "List.h" 00044 #include "I_VIO.h" 00045 00046 class Event; 00047 class UnixNetVConnection; 00048 00049 struct NetState 00050 { 00051 volatile int enabled; 00052 VIO vio; 00053 Link<UnixNetVConnection> ready_link; 00054 SLink<UnixNetVConnection> enable_link; 00055 int in_enabled_list; 00056 int triggered; 00057 00058 NetState() : enabled(0), vio(VIO::NONE), in_enabled_list(0), triggered(0) {} 00059 }; 00060 00061 #endif