Defines | Functions | Variables

I_Net.h File Reference

Net subsystem. More...

#include "I_Version.h"
#include "I_EventSystem.h"
#include <netinet/in.h>
#include "I_NetVConnection.h"
#include "I_NetProcessor.h"
#include "I_SessionAccept.h"
Include dependency graph for I_Net.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define NET_SYSTEM_MODULE_MAJOR_VERSION   1
#define NET_SYSTEM_MODULE_MINOR_VERSION   0
#define NET_SYSTEM_MODULE_VERSION
#define NET_EVENT_OPEN   (NET_EVENT_EVENTS_START)
#define NET_EVENT_OPEN_FAILED   (NET_EVENT_EVENTS_START+1)
#define NET_EVENT_ACCEPT   (NET_EVENT_EVENTS_START+2)
#define NET_EVENT_ACCEPT_SUCCEED   (NET_EVENT_EVENTS_START+3)
#define NET_EVENT_ACCEPT_FAILED   (NET_EVENT_EVENTS_START+4)
#define NET_EVENT_CANCEL   (NET_EVENT_EVENTS_START+5)
#define NET_EVENT_DATAGRAM_READ_COMPLETE   (NET_EVENT_EVENTS_START+6)
#define NET_EVENT_DATAGRAM_READ_ERROR   (NET_EVENT_EVENTS_START+7)
#define NET_EVENT_DATAGRAM_WRITE_COMPLETE   (NET_EVENT_EVENTS_START+8)
#define NET_EVENT_DATAGRAM_WRITE_ERROR   (NET_EVENT_EVENTS_START+9)
#define NET_EVENT_DATAGRAM_READ_READY   (NET_EVENT_EVENTS_START+10)
#define NET_EVENT_DATAGRAM_OPEN   (NET_EVENT_EVENTS_START+11)
#define NET_EVENT_DATAGRAM_ERROR   (NET_EVENT_EVENTS_START+12)
#define NET_EVENT_ACCEPT_INTERNAL   (NET_EVENT_EVENTS_START+22)
#define NET_EVENT_CONNECT_INTERNAL   (NET_EVENT_EVENTS_START+23)
#define MAIN_ACCEPT_PORT   -1
#define ET_NET   ET_CALL

Functions

void ink_net_init (ModuleVersion version)

Variables

static int const NO_FD = -1
int net_config_poll_timeout

Detailed Description

Net subsystem.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Details

Net subsystem is a layer on top the operations sytem network apis. It provides an interface for accepting/creating new connection oriented (TCP) and connection less (UDP) connetions and for reading/writing data through these. The net system can manage 1000s of connections very efficiently. Another advantage of using the net system is that the SMs dont have be concerned about differences in the net apis of various operations systems.

SMs use the netProcessor global object of the Net System to create new connections or to accept incoming connections. When a new connection is created the SM gets a NetVConnection which is a handle for the underlying connections. The SM can then use the NetVConnection to get properties of the connection, read and write data. Net system also has socks and ssl support.

Definition in file I_Net.h.


Define Documentation

#define ET_NET   ET_CALL
#define MAIN_ACCEPT_PORT   -1

Definition at line 75 of file I_Net.h.

#define NET_EVENT_ACCEPT   (NET_EVENT_EVENTS_START+2)
#define NET_EVENT_ACCEPT_FAILED   (NET_EVENT_EVENTS_START+4)
#define NET_EVENT_ACCEPT_INTERNAL   (NET_EVENT_EVENTS_START+22)

Definition at line 72 of file I_Net.h.

#define NET_EVENT_ACCEPT_SUCCEED   (NET_EVENT_EVENTS_START+3)

Definition at line 62 of file I_Net.h.

Referenced by NetAccept::do_listen(), and event_int_to_string().

#define NET_EVENT_CANCEL   (NET_EVENT_EVENTS_START+5)

Definition at line 64 of file I_Net.h.

#define NET_EVENT_CONNECT_INTERNAL   (NET_EVENT_EVENTS_START+23)

Definition at line 73 of file I_Net.h.

#define NET_EVENT_DATAGRAM_ERROR   (NET_EVENT_EVENTS_START+12)

Definition at line 71 of file I_Net.h.

Referenced by UnixUDPConnection::callbackHandler(), and UDPNetProcessor::UDPBind().

#define NET_EVENT_DATAGRAM_OPEN   (NET_EVENT_EVENTS_START+11)

Definition at line 70 of file I_Net.h.

Referenced by UDPNetProcessor::UDPBind().

#define NET_EVENT_DATAGRAM_READ_COMPLETE   (NET_EVENT_EVENTS_START+6)
#define NET_EVENT_DATAGRAM_READ_ERROR   (NET_EVENT_EVENTS_START+7)
#define NET_EVENT_DATAGRAM_READ_READY   (NET_EVENT_EVENTS_START+10)

Definition at line 69 of file I_Net.h.

Referenced by UnixUDPConnection::callbackHandler().

#define NET_EVENT_DATAGRAM_WRITE_COMPLETE   (NET_EVENT_EVENTS_START+8)
#define NET_EVENT_DATAGRAM_WRITE_ERROR   (NET_EVENT_EVENTS_START+9)
#define NET_EVENT_OPEN   (NET_EVENT_EVENTS_START)
#define NET_EVENT_OPEN_FAILED   (NET_EVENT_EVENTS_START+1)
#define NET_SYSTEM_MODULE_MAJOR_VERSION   1

Definition at line 48 of file I_Net.h.

#define NET_SYSTEM_MODULE_MINOR_VERSION   0

Definition at line 49 of file I_Net.h.

#define NET_SYSTEM_MODULE_VERSION

Function Documentation

void ink_net_init ( ModuleVersion  version  ) 

Variable Documentation

Definition at line 35 of file Net.cc.

int const NO_FD = -1 [static]