Data Structures | Defines | Typedefs | Enumerations

I_VConnection.h File Reference

Public VConnection declaration and associated declarations. More...

#include "libts.h"
#include "I_EventSystem.h"
Include dependency graph for I_VConnection.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  VConnection
 Base class for the connection classes that provide IO capabilities. More...
struct  DummyVConnection

Defines

#define VCONNECTION_CACHE_DATA_BASE   0
#define VCONNECTION_NET_DATA_BASE   100
#define VCONNECTION_API_DATA_BASE   200
#define VC_EVENT_NONE   EVENT_NONE
#define VC_EVENT_IMMEDIATE   EVENT_IMMEDIATE
 When a Continuation is first scheduled on a processor.
#define VC_EVENT_READ_READY   VC_EVENT_EVENTS_START
#define VC_EVENT_WRITE_READY   (VC_EVENT_EVENTS_START+1)
 Any data in the accociated buffer *will be written* when the Continuation returns.
#define VC_EVENT_READ_COMPLETE   (VC_EVENT_EVENTS_START+2)
#define VC_EVENT_WRITE_COMPLETE   (VC_EVENT_EVENTS_START+3)
#define VC_EVENT_EOS   (VC_EVENT_EVENTS_START+4)
 No more data (end of stream).
#define VC_EVENT_ERROR   EVENT_ERROR
#define VC_EVENT_INACTIVITY_TIMEOUT   (VC_EVENT_EVENTS_START+5)
 VC_EVENT_INACTIVITY_TIMEOUT indiates that the operation (read or write) has:

  1. been enabled for more than the inactivity timeout period (for a read, there has been space in the buffer) (for a write, there has been data in the buffer)
  2. no progress has been made (for a read, no data has been read from the connection) (for a write, no data has been written to the connection).

#define VC_EVENT_ACTIVE_TIMEOUT   (VC_EVENT_EVENTS_START+6)
 Total time for some operation has been exeeded, regardless of any intermediate progress.
#define VC_EVENT_OOB_COMPLETE   (VC_EVENT_EVENTS_START+7)
#define VC_EVENT_DONE   CONTINUATION_DONE
#define VC_EVENT_CONT   CONTINUATION_CONT

Typedefs

typedef struct tsapi_vio * TSVIO

Enumerations

enum  ShutdownHowTo_t { IO_SHUTDOWN_READ = 0, IO_SHUTDOWN_WRITE, IO_SHUTDOWN_READWRITE }
 

Used in VConnection::shutdown().

More...
enum  TSApiDataType { TS_API_DATA_READ_VIO = VCONNECTION_API_DATA_BASE, TS_API_DATA_WRITE_VIO, TS_API_DATA_OUTPUT_VC, TS_API_DATA_CLOSED }
 

Used in VConnection::get_data().

More...

Detailed Description

Public VConnection declaration and associated declarations.

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.

Definition in file I_VConnection.h.


Define Documentation

#define VC_EVENT_ACTIVE_TIMEOUT   (VC_EVENT_EVENTS_START+6)
#define VC_EVENT_CONT   CONTINUATION_CONT
#define VC_EVENT_DONE   CONTINUATION_DONE

Definition at line 110 of file I_VConnection.h.

Referenced by OneWayTunnel::startEvent(), and OneWayMultiTunnel::startEvent().

#define VC_EVENT_EOS   (VC_EVENT_EVENTS_START+4)

No more data (end of stream).

It should be interpreted by a protocol engine as either a COMPLETE or ERROR.

Definition at line 68 of file I_VConnection.h.

Referenced by PrefetchBlaster::bufferObject(), OneWayTunnel::connection_closed(), HttpTunnel::consumer_handler(), ClusterState::doIO_read_event(), ClusterState::doIO_write_event(), CacheTestSM::event_handler(), event_int_to_string(), ServerSessionPool::eventHandler(), ChunkedHandler::generate_chunked_content(), HttpDebugNames::get_event_name(), get_vc_event_name(), TransformControl::handle_event(), TransformTerminus::handle_event(), NetTesterSM::handle_read(), HttpSM::handle_server_setup_error(), NetTesterSM::handle_write(), ShowCache::handleCacheEvent(), KeepAliveConn::handleEvent(), PrefetchBlaster::httpClient(), SSLNextProtocolTrampoline::ioCompletionEvent(), ProtocolProbeTrampoline::ioCompletionEvent(), SocksProxy::mainEvent(), SocksEntry::mainEvent(), SSLNetVConnection::net_read_io(), ObjectReloadCont::ObjectReloadEvent(), CacheVC::openReadFromWriterMain(), CacheVC::openReadMain(), CacheVC::openReadReadDone(), HttpTunnel::producer_handler(), HttpTunnel::producer_handler_chunked(), HttpTunnel::producer_handler_dechunked(), NetVCTest::read_finished(), read_from_net(), NetVCTest::read_handler(), RecursiveHttpGet::RecursiveHttpGetEvent(), ClusterHandler::remote_close(), UnixNetVConnection::send_OOB(), HttpSM::setup_push_read_response_header(), HttpSM::setup_server_read_response_header(), OneWayTunnel::startEvent(), OneWayMultiTunnel::startEvent(), HttpSM::state_read_client_request_header(), HttpSM::state_read_push_response_header(), HttpSM::state_read_server_response_header(), HttpSM::state_send_server_request_header(), HttpSM::state_watch_for_client_abort(), RangeTransform::transform_to_range(), HttpSM::tunnel_handler_100_continue(), HttpSM::tunnel_handler_100_continue_ua(), HttpSM::tunnel_handler_cache_read(), HttpSM::tunnel_handler_cache_write(), HttpSM::tunnel_handler_plugin_agent(), HttpSM::tunnel_handler_post_server(), HttpSM::tunnel_handler_post_ua(), HttpSM::tunnel_handler_server(), HttpSM::tunnel_handler_ssl_consumer(), HttpSM::tunnel_handler_ssl_producer(), HttpSM::tunnel_handler_transform_read(), HttpSM::tunnel_handler_transform_write(), HttpSM::tunnel_handler_ua(), HttpSM::tunnel_handler_ua_push(), TestProxy::tunnelEvent(), ClusterHandler::valid_for_freespace_write(), CacheContinuation::VCdataRead(), and write_to_net_io().

#define VC_EVENT_ERROR   EVENT_ERROR

Definition at line 70 of file I_VConnection.h.

Referenced by ClusterHandler::cluster_signal_and_update(), ClusterHandler::cluster_signal_error_and_update(), OneWayTunnel::connection_closed(), HttpTunnel::consumer_handler(), ClusterState::doIO_read_event(), ClusterState::doIO_write_event(), CacheTestSM::event_handler(), ServerSessionPool::eventHandler(), HttpDebugNames::get_event_name(), get_vc_event_name(), HttpUpdateSM::handle_api_return(), RangeTransform::handle_event(), NullTransform::handle_event(), TransformTerminus::handle_event(), PrefetchTransform::handle_event(), NetTesterSM::handle_read(), HttpSM::handle_server_setup_error(), NetTesterSM::handle_write(), KeepAliveConn::handleEvent(), PrefetchBlaster::httpClient(), SSLNextProtocolTrampoline::ioCompletionEvent(), ProtocolProbeTrampoline::ioCompletionEvent(), Http2ConnectionState::main_event_handler(), SocksProxy::mainEvent(), SocksEntry::mainEvent(), CacheVC::openReadFromWriterMain(), CacheVC::openReadMain(), CacheVC::openReadReadDone(), CacheVC::openWriteWriteDone(), HttpTunnel::producer_handler(), NetVCTest::read_handler(), read_signal_error(), RecursiveHttpGet::RecursiveHttpGetEvent(), HttpSM::set_ua_abort(), ssl_netvc_cast(), OneWayTunnel::startEvent(), OneWayMultiTunnel::startEvent(), HttpSM::state_common_wait_for_transform_read(), HttpSM::state_http_server_open(), HttpSM::state_raw_http_server_open(), HttpSM::state_read_client_request_header(), HttpSM::state_read_push_response_header(), HttpSM::state_read_server_response_header(), HttpSM::state_send_server_request_header(), HttpSM::state_watch_for_client_abort(), HttpSM::tunnel_handler_100_continue_ua(), HttpSM::tunnel_handler_cache_read(), HttpSM::tunnel_handler_cache_write(), HttpSM::tunnel_handler_plugin_agent(), HttpSM::tunnel_handler_post_server(), HttpSM::tunnel_handler_post_ua(), HttpSM::tunnel_handler_server(), HttpSM::tunnel_handler_ssl_consumer(), HttpSM::tunnel_handler_ssl_producer(), HttpSM::tunnel_handler_transform_read(), HttpSM::tunnel_handler_transform_write(), HttpSM::tunnel_handler_ua(), HttpSM::tunnel_handler_ua_push(), TestProxy::tunnelEvent(), CacheContinuation::VCdataRead(), NetVCTest::write_handler(), and write_signal_error().

#define VC_EVENT_IMMEDIATE   EVENT_IMMEDIATE

When a Continuation is first scheduled on a processor.

Definition at line 49 of file I_VConnection.h.

Referenced by HttpDebugNames::get_event_name(), get_vc_event_name(), and UpTest::main_handler().

#define VC_EVENT_INACTIVITY_TIMEOUT   (VC_EVENT_EVENTS_START+5)

VC_EVENT_INACTIVITY_TIMEOUT indiates that the operation (read or write) has:

  1. been enabled for more than the inactivity timeout period (for a read, there has been space in the buffer) (for a write, there has been data in the buffer)
  2. no progress has been made (for a read, no data has been read from the connection) (for a write, no data has been written to the connection).

Definition at line 82 of file I_VConnection.h.

Referenced by HttpTunnel::consumer_handler(), ClusterState::doIO_read_event(), ClusterState::doIO_write_event(), event_int_to_string(), ServerSessionPool::eventHandler(), HttpDebugNames::get_event_name(), get_vc_event_name(), CheckConnect::handle_connect(), NetTesterSM::handle_read(), HttpSM::handle_server_setup_error(), NetTesterSM::handle_write(), KeepAliveConn::handleEvent(), SSLNextProtocolTrampoline::ioCompletionEvent(), ProtocolProbeTrampoline::ioCompletionEvent(), PluginVC::main_handler(), SocksProxy::mainEvent(), SocksEntry::mainEvent(), HttpTunnel::producer_handler(), NetVCTest::read_handler(), HttpSM::set_ua_abort(), ssl_netvc_cast(), OneWayTunnel::startEvent(), OneWayMultiTunnel::startEvent(), HttpSM::state_read_client_request_header(), HttpSM::state_read_push_response_header(), HttpSM::state_read_server_response_header(), HttpSM::state_send_server_request_header(), HttpSM::state_watch_for_client_abort(), HttpSM::tunnel_handler_100_continue_ua(), HttpSM::tunnel_handler_post_server(), HttpSM::tunnel_handler_post_ua(), HttpSM::tunnel_handler_server(), HttpSM::tunnel_handler_ssl_consumer(), HttpSM::tunnel_handler_ssl_producer(), HttpSM::tunnel_handler_ua(), HttpSM::tunnel_handler_ua_push(), CacheContinuation::VCdataRead(), and NetVCTest::write_handler().

#define VC_EVENT_NONE   EVENT_NONE
#define VC_EVENT_OOB_COMPLETE   (VC_EVENT_EVENTS_START+7)

Definition at line 91 of file I_VConnection.h.

Referenced by UnixNetVConnection::send_OOB().

#define VC_EVENT_READ_COMPLETE   (VC_EVENT_EVENTS_START+2)

Definition at line 60 of file I_VConnection.h.

Referenced by PrefetchBlaster::bufferObject(), ClusterHandler::complete_channel_read(), HttpTunnel::consumer_handler(), ClusterState::doIO_read_event(), CacheTestSM::event_handler(), event_int_to_string(), ChunkedHandler::generate_chunked_content(), HttpDebugNames::get_event_name(), get_vc_event_name(), TransformControl::handle_event(), TransformTerminus::handle_event(), NetTesterSM::handle_read(), ShowCache::handleCacheEvent(), KeepAliveConn::handleEvent(), SSLNextProtocolTrampoline::ioCompletionEvent(), ProtocolProbeTrampoline::ioCompletionEvent(), SocksProxy::mainEvent(), SocksEntry::mainEvent(), SSLNetVConnection::net_read_io(), ObjectReloadCont::ObjectReloadEvent(), CacheVC::openReadFromWriterMain(), CacheVC::openReadMain(), HttpTunnel::producer_handler(), HttpTunnel::producer_handler_chunked(), HttpTunnel::producer_handler_dechunked(), read_from_net(), NetVCTest::read_handler(), RecursiveHttpGet::RecursiveHttpGetEvent(), ClusterHandler::remote_close(), ssl_netvc_cast(), OneWayTunnel::startEvent(), OneWayMultiTunnel::startEvent(), HttpSM::state_read_client_request_header(), HttpSM::state_read_push_response_header(), HttpSM::state_read_server_response_header(), HttpSM::state_watch_for_client_abort(), HttpSM::tunnel_handler_cache_read(), HttpSM::tunnel_handler_post_ua(), HttpSM::tunnel_handler_server(), HttpSM::tunnel_handler_ssl_producer(), HttpSM::tunnel_handler_transform_read(), HttpSM::tunnel_handler_ua(), HttpSM::tunnel_handler_ua_push(), ClusterHandler::valid_for_freespace_write(), and CacheContinuation::VCdataRead().

#define VC_EVENT_READ_READY   VC_EVENT_EVENTS_START

Definition at line 51 of file I_VConnection.h.

Referenced by PrefetchBlaster::bufferObject(), ClusterHandler::complete_channel_read(), HttpTunnel::consumer_handler(), HttpTunnel::consumer_reenable(), ClusterState::doIO(), ClusterState::doIO_read_event(), CacheTestSM::event_handler(), event_int_to_string(), ServerSessionPool::eventHandler(), HttpDebugNames::get_event_name(), get_vc_event_name(), TransformTerminus::handle_event(), NetTesterSM::handle_read(), ShowCache::handleCacheEvent(), KeepAliveConn::handleEvent(), ProtocolProbeTrampoline::ioCompletionEvent(), SocksProxy::mainEvent(), SocksEntry::mainEvent(), SSLNetVConnection::net_read_io(), ObjectReloadCont::ObjectReloadEvent(), CacheVC::openReadFromWriterMain(), CacheVC::openReadMain(), HttpTunnel::producer_handler(), HttpTunnel::producer_handler_chunked(), HttpTunnel::producer_handler_dechunked(), read_from_net(), NetVCTest::read_handler(), RecursiveHttpGet::RecursiveHttpGetEvent(), HttpSM::setup_client_read_request_header(), HttpSM::setup_push_read_response_header(), HttpSM::setup_server_read_response_header(), Http2ClientSession::start(), TestProxy::startEvent(), OneWayTunnel::startEvent(), OneWayMultiTunnel::startEvent(), HttpSM::state_read_client_request_header(), HttpSM::state_read_push_response_header(), HttpSM::state_read_server_response_header(), HttpSM::state_send_server_request_header(), HttpSM::state_watch_for_client_abort(), HttpSM::tunnel_handler_server(), HttpSM::tunnel_handler_ua(), HttpSM::tunnel_handler_ua_push(), ClusterHandler::valid_for_freespace_write(), and CacheContinuation::VCdataRead().

#define VC_EVENT_WRITE_COMPLETE   (VC_EVENT_EVENTS_START+3)
#define VC_EVENT_WRITE_READY   (VC_EVENT_EVENTS_START+1)
#define VCONNECTION_API_DATA_BASE   200

Definition at line 40 of file I_VConnection.h.

#define VCONNECTION_CACHE_DATA_BASE   0

Definition at line 38 of file I_VConnection.h.

#define VCONNECTION_NET_DATA_BASE   100

Definition at line 39 of file I_VConnection.h.


Typedef Documentation

typedef struct tsapi_vio* TSVIO

Definition at line 137 of file I_VConnection.h.


Enumeration Type Documentation

Used in VConnection::shutdown().

Enumerator:
IO_SHUTDOWN_READ 
IO_SHUTDOWN_WRITE 
IO_SHUTDOWN_READWRITE 

Definition at line 120 of file I_VConnection.h.

Used in VConnection::get_data().

Enumerator:
TS_API_DATA_READ_VIO 
TS_API_DATA_WRITE_VIO 
TS_API_DATA_OUTPUT_VC 
TS_API_DATA_CLOSED 

Definition at line 128 of file I_VConnection.h.