You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ge...@apache.org on 2010/02/24 19:48:52 UTC
svn commit: r915922 [7/14] - in /incubator/trafficserver/traffic/trunk: ./
install/ iocore/aio/ iocore/block-cache/ iocore/cache/ iocore/cluster/
iocore/dns/ iocore/eventsystem/ iocore/hostdb/ iocore/net/ iocore/utils/
libev/ libev/CVS/ libinktomi++/ l...
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterCache.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterCache.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterCache.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterCache.cc Wed Feb 24 18:48:42 2010
@@ -1232,7 +1232,7 @@
// Save hostname and attach it to the continuation since we may
// need it if we convert this to an open_write.
- c->ic_hostname = new_IOBufferData(buffer_size_to_index(host_len));
+ c->ic_hostname = new_IOBufferData(iobuffer_size_to_index(host_len));
c->ic_hostname_len = host_len;
memcpy(c->ic_hostname->data(), hostname, host_len);
@@ -1395,10 +1395,10 @@
}
Cache *call_cache = caches[c->frag_type];
- Action *a = call_cache->remove(c, &key,
+ Action *a = call_cache->remove(c, &key, c->frag_type,
!!(c->cfl_flags & CFL_REMOVE_USER_AGENTS),
!!(c->cfl_flags & CFL_REMOVE_LINK),
- c->frag_type, hostname, host_len);
+ hostname, host_len);
if (a != ACTION_RESULT_DONE) {
c->cache_action = a;
}
@@ -1489,7 +1489,7 @@
ink_release_assert(caller_buf_freebytes);
SET_HANDLER((CacheContHandler) & CacheContinuation::VCdataRead);
- int size_index = buffer_size_to_index(caller_buf_freebytes);
+ int size_index = iobuffer_size_to_index(caller_buf_freebytes);
MIOBuffer *buf = new_MIOBuffer(size_index);
readahead_reader = buf->alloc_reader();
@@ -1596,14 +1596,6 @@
return handleEvent(event, vc);
break;
}
- case CACHE_EVENT_OPEN_READ_FAILED_IN_PROGRESS:
- {
- // open read in-progress, just deflect to final completion handler
-
- SET_HANDLER((CacheContHandler) & CacheContinuation::replyOpEvent);
- return handleEvent(event, vc);
- break;
- }
case CACHE_EVENT_OPEN_READ_FAILED:
{
if (frag_type == CACHE_FRAG_TYPE_HTTP) {
@@ -2034,7 +2026,6 @@
case CACHE_EVENT_LINK_FAILED:
break;
case CACHE_EVENT_OPEN_READ_FAILED:
- case CACHE_EVENT_OPEN_READ_FAILED_IN_PROGRESS:
case CACHE_EVENT_OPEN_WRITE_FAILED:
case CACHE_EVENT_REMOVE_FAILED:
case CACHE_EVENT_UPDATE_FAILED:
@@ -2781,7 +2772,7 @@
}
} else {
- object_size = vc->get_object_size();
+ object_size = ((CacheVC *)vc)->get_object_size();
}
if (ret_ci && !ret_ci->valid()) {
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterConfig.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterConfig.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterConfig.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterConfig.cc Wed Feb 24 18:48:42 2010
@@ -403,7 +403,7 @@
cluster_machine_at_depth(unsigned int hash, int *pprobe_depth, ClusterMachine ** past_probes)
{
#ifdef CLUSTER_TOMCAT
- if (!CacheClusteringEnabled)
+ if (!cache_clustering_enabled)
return NULL;
#endif
ClusterConfiguration *
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandler.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandler.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandler.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandler.cc Wed Feb 24 18:48:42 2010
@@ -592,8 +592,7 @@
//////////////////////////////////////////////////////////
ink_release_assert(s.msg.descriptor[i].length <= DEFAULT_MAX_BUFFER_SIZE);
vc->read_block = new_IOBufferBlock();
- int
- index = buffer_size_to_index(s.msg.descriptor[i].length);
+ int index = buffer_size_to_index(s.msg.descriptor[i].length, MAX_BUFFER_SIZE_INDEX);
vc->read_block->alloc(index);
s.iov[new_n_iov].iov_base = 0;
@@ -610,8 +609,7 @@
s.block[new_n_iov]->_buf_end = s.block[new_n_iov]->end() + s.msg.descriptor[i].length;
} else {
- bool
- remote_write_fill = (vc->pending_remote_fill && vc->remote_write_block);
+ bool remote_write_fill = (vc->pending_remote_fill && vc->remote_write_block);
// Sanity check, assert we have the lock
if (!remote_write_fill) {
ink_assert((ProxyMutex *) vc->write_locked);
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc Wed Feb 24 18:48:42 2010
@@ -73,7 +73,7 @@
ink_assert(!data);
if ((len + DATA_HDR + sizeof(ink32)) <= DEFAULT_MAX_BUFFER_SIZE) {
- size_index = buffer_size_to_index(len + DATA_HDR + sizeof(ink32));
+ size_index = buffer_size_to_index(len + DATA_HDR + sizeof(ink32), MAX_BUFFER_SIZE_INDEX);
iob_block = new_IOBufferBlock();
iob_block->alloc(size_index); // aligns on 8 byte boundary
real_data = (ink64 *) iob_block->buf();
@@ -1316,8 +1316,8 @@
printf("ch[%d] vc=0x%p remote_free=%d last_local_free=%d\n", i, vc,
vc->remote_free, vc->last_local_free);
printf(" r_bytes=%d r_done=%d w_bytes=%d w_done=%d\n",
- vc->read.vio.nbytes, vc->read.vio.ndone,
- vc->write.vio.nbytes, vc->write.vio.ndone);
+ (int)vc->read.vio.nbytes, (int)vc->read.vio.ndone,
+ (int)vc->write.vio.nbytes, (int)vc->write.vio.ndone);
}
}
}
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterMachine.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterMachine.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterMachine.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterMachine.cc Wed Feb 24 18:48:42 2010
@@ -26,6 +26,7 @@
Machine.cc
****************************************************************************/
+#include "ink_config.h"
#include <unistd.h>
#include "P_Cluster.h"
extern char cache_system_config_directory[PATH_NAME_MAX + 1];
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterProcessor.cc Wed Feb 24 18:48:42 2010
@@ -32,7 +32,7 @@
// ClusterProcessor member functions (Public class)
/*************************************************************************/
int cluster_port_number = DEFAULT_CLUSTER_PORT_NUMBER;
-int CacheClusteringEnabled = 0;
+int cache_clustering_enabled = 0;
ClusterProcessor clusterProcessor;
RecRawStatBlock *cluster_rsb = NULL;
@@ -365,119 +365,66 @@
////////////////////////////////////////////////////////////////////////////
// Simplify debug access to stats
////////////////////////////////////////////////////////////////////////////
-#define GS RecRawStat
#if 0
-GS *
- p_CLUSTER_CONNECTIONS_OPEN_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_OPEN_STAT);
-GS *
- p_CLUSTER_CONNECTIONS_OPENNED_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_OPENNED_STAT);
-GS *
- p_CLUSTER_CON_TOTAL_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CON_TOTAL_TIME_STAT);
-GS *
- p_CLUSTER_CTRL_MSGS_SENT_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_SENT_STAT);
-GS *
- p_CLUSTER_SLOW_CTRL_MSGS_SENT_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SLOW_CTRL_MSGS_SENT_STAT);
-GS *
- p_CLUSTER_CTRL_MSGS_RECVD_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_RECVD_STAT);
-GS *
- p_CLUSTER_SLOW_CTRL_MSGS_RECVD_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SLOW_CTRL_MSGS_RECVD_STAT);
-GS *
- p_CLUSTER_CTRL_MSGS_SEND_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_SEND_TIME_STAT);
-GS *
- p_CLUSTER_CTRL_MSGS_RECV_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_RECV_TIME_STAT);
-GS *
- p_CLUSTER_READ_BYTES_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_READ_BYTES_STAT);
-GS *
- p_CLUSTER_WRITE_BYTES_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_WRITE_BYTES_STAT);
-GS *
- p_CLUSTER_OP_DELAYED_FOR_LOCK_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_OP_DELAYED_FOR_LOCK_STAT);
-GS *
- p_CLUSTER_CONNECTIONS_LOCKED_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_LOCKED_STAT);
-GS *
- p_CLUSTER_CONNECTIONS_BUMPED_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_BUMPED_STAT);
-GS *
- p_CLUSTER_NODES_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_NODES_STAT);
-GS *
- p_CLUSTER_NET_BACKUP_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_NET_BACKUP_STAT);
-GS *
- p_machines_allocated_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_MACHINES_ALLOCATED_STAT);
-GS *
- p_machines_freed_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_MACHINES_FREED_STAT);
-GS *
- p_configuration_changes_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONFIGURATION_CHANGES_STAT);
-GS *
- p_delayed_reads_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_DELAYED_READS_STAT);
-GS *
- p_byte_bank_used_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_BYTE_BANK_USED_STAT);
-GS *
- p_alloc_data_news_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_ALLOC_DATA_NEWS_STAT);
-GS *
- p_write_bb_mallocs_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_WRITE_BB_MALLOCS_STAT);
-GS *
- p_partial_reads_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_PARTIAL_READS_STAT);
-GS *
- p_partial_writes_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_PARTIAL_WRITES_STAT);
-GS *
- p_cache_outstanding = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CACHE_OUTSTANDING_STAT);
-GS *
- p_remote_op_timeouts = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_REMOTE_OP_TIMEOUTS_STAT);
-GS *
- p_remote_op_reply_timeouts = RecGetGlobalRawStatPtr(cluster_rsb,
+#define GS RecRawStat// FIXME: GS conflicts with define in /usr/include/sys/regset.h
+GS *p_CLUSTER_CONNECTIONS_OPEN_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_OPEN_STAT);
+GS *p_CLUSTER_CONNECTIONS_OPENNED_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_OPENNED_STAT);
+GS *p_CLUSTER_CON_TOTAL_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CON_TOTAL_TIME_STAT);
+GS *p_CLUSTER_CTRL_MSGS_SENT_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_SENT_STAT);
+GS *p_CLUSTER_SLOW_CTRL_MSGS_SENT_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SLOW_CTRL_MSGS_SENT_STAT);
+GS *p_CLUSTER_CTRL_MSGS_RECVD_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_RECVD_STAT);
+GS *p_CLUSTER_SLOW_CTRL_MSGS_RECVD_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SLOW_CTRL_MSGS_RECVD_STAT);
+GS *p_CLUSTER_CTRL_MSGS_SEND_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_SEND_TIME_STAT);
+GS *p_CLUSTER_CTRL_MSGS_RECV_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CTRL_MSGS_RECV_TIME_STAT);
+GS *p_CLUSTER_READ_BYTES_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_READ_BYTES_STAT);
+GS *p_CLUSTER_WRITE_BYTES_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_WRITE_BYTES_STAT);
+GS *p_CLUSTER_OP_DELAYED_FOR_LOCK_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_OP_DELAYED_FOR_LOCK_STAT);
+GS *p_CLUSTER_CONNECTIONS_LOCKED_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_LOCKED_STAT);
+GS *p_CLUSTER_CONNECTIONS_BUMPED_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONNECTIONS_BUMPED_STAT);
+GS *p_CLUSTER_NODES_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_NODES_STAT);
+GS *p_CLUSTER_NET_BACKUP_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_NET_BACKUP_STAT);
+GS *p_machines_allocated_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_MACHINES_ALLOCATED_STAT);
+GS *p_machines_freed_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_MACHINES_FREED_STAT);
+GS *p_configuration_changes_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CONFIGURATION_CHANGES_STAT);
+GS *p_delayed_reads_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_DELAYED_READS_STAT);
+GS *p_byte_bank_used_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_BYTE_BANK_USED_STAT);
+GS *p_alloc_data_news_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_ALLOC_DATA_NEWS_STAT);
+GS *p_write_bb_mallocs_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_WRITE_BB_MALLOCS_STAT);
+GS *p_partial_reads_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_PARTIAL_READS_STAT);
+GS *p_partial_writes_stat = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_PARTIAL_WRITES_STAT);
+GS *p_cache_outstanding = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CACHE_OUTSTANDING_STAT);
+GS *p_remote_op_timeouts = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_REMOTE_OP_TIMEOUTS_STAT);
+GS *p_remote_op_reply_timeouts = RecGetGlobalRawStatPtr(cluster_rsb,
CLUSTER_REMOTE_OP_REPLY_TIMEOUTS_STAT);
-GS *
- p_chan_inuse = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CHAN_INUSE_STAT);
-GS *
- p_CLUSTER_OPEN_DELAYS_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_OPEN_DELAYS_STAT);
-GS *
- p_CLUSTER_OPEN_DELAY_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_OPEN_DELAY_TIME_STAT);
-GS *
- p_CLUSTER_CACHE_CALLBACKS_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CACHE_CALLBACKS_STAT);
-GS *
- p_CLUSTER_CACHE_CALLBACK_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CACHE_CALLBACK_TIME_STAT);
-GS *
- p_cluster_thread_steal_expires = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_THREAD_STEAL_EXPIRES_STAT);
-GS *
- p_CLUSTER_RDMSG_ASSEMBLE_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_RDMSG_ASSEMBLE_TIME_STAT);
-GS *
- p_cluster_ping_time = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_PING_TIME_STAT);
-GS *
- p_cluster_setdata_no_clustervc = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_CLUSTERVC_STAT);
-GS *
- p_cluster_setdata_no_tunnel = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_TUNNEL_STAT);
-GS *
- p_cluster_setdata_no_cachevc = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_CACHEVC_STAT);
-GS *
- p_cluster_setdata_no_cluster = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_CLUSTER_STAT);
-GS *
- p_cluster_vc_write_stall = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_WRITE_STALL_STAT);
-GS *
- p_cluster_no_remote_space = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_NO_REMOTE_SPACE_STAT);
-GS *
- p_cluster_level1_bank = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_LEVEL1_BANK_STAT);
-GS *
- p_cluster_multilevel_bank = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_MULTILEVEL_BANK_STAT);
-GS *
- p_cluster_vc_cache_insert_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb,
+GS *p_chan_inuse = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CHAN_INUSE_STAT);
+GS *p_CLUSTER_OPEN_DELAYS_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_OPEN_DELAYS_STAT);
+GS *p_CLUSTER_OPEN_DELAY_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_OPEN_DELAY_TIME_STAT);
+GS *p_CLUSTER_CACHE_CALLBACKS_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CACHE_CALLBACKS_STAT);
+GS *p_CLUSTER_CACHE_CALLBACK_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_CACHE_CALLBACK_TIME_STAT);
+GS *p_cluster_thread_steal_expires = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_THREAD_STEAL_EXPIRES_STAT);
+GS *p_CLUSTER_RDMSG_ASSEMBLE_TIME_STAT = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_RDMSG_ASSEMBLE_TIME_STAT);
+GS *p_cluster_ping_time = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_PING_TIME_STAT);
+GS *p_cluster_setdata_no_clustervc = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_CLUSTERVC_STAT);
+GS *p_cluster_setdata_no_tunnel = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_TUNNEL_STAT);
+GS *p_cluster_setdata_no_cachevc = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_CACHEVC_STAT);
+GS *p_cluster_setdata_no_cluster = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_SETDATA_NO_CLUSTER_STAT);
+GS *p_cluster_vc_write_stall = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_WRITE_STALL_STAT);
+GS *p_cluster_no_remote_space = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_NO_REMOTE_SPACE_STAT);
+GS *p_cluster_level1_bank = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_LEVEL1_BANK_STAT);
+GS *p_cluster_multilevel_bank = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_MULTILEVEL_BANK_STAT);
+GS *p_cluster_vc_cache_insert_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb,
CLUSTER_VC_CACHE_INSERT_LOCK_MISSES_STAT);
-GS *
- p_cluster_vc_cache_inserts = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_INSERTS_STAT);
-GS *
- p_cluster_vc_cache_lookup_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb,
+GS *p_cluster_vc_cache_inserts = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_INSERTS_STAT);
+GS *p_cluster_vc_cache_lookup_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb,
CLUSTER_VC_CACHE_LOOKUP_LOCK_MISSES_STAT);
-GS *
- p_cluster_vc_cache_lookup_hits = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_LOOKUP_HITS_STAT);
-GS *
- p_cluster_vc_cache_lookup_misses = RecGetGlobalRawStatPtr(cluster_rsb,
+GS *p_cluster_vc_cache_lookup_hits = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_LOOKUP_HITS_STAT);
+GS *p_cluster_vc_cache_lookup_misses = RecGetGlobalRawStatPtr(cluster_rsb,
CLUSTER_VC_CACHE_LOOKUP_MISSES_STAT);
-GS *
- p_cluster_vc_cache_scans = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_SCANS_STAT);
-GS *
- p_cluster_vc_cache_scan_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb,
+GS *p_cluster_vc_cache_scans = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_SCANS_STAT);
+GS *p_cluster_vc_cache_scan_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb,
CLUSTER_VC_CACHE_SCAN_LOCK_MISSES_STAT);
-GS *
- p_cluster_vc_cache_purges = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_PURGES_STAT);
-GS *
- p_cluster_write_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_WRITE_LOCK_MISSES_STAT);
+GS *p_cluster_vc_cache_purges = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_VC_CACHE_PURGES_STAT);
+GS *p_cluster_write_lock_misses = RecGetGlobalRawStatPtr(cluster_rsb, CLUSTER_WRITE_LOCK_MISSES_STAT);
#endif
////////////////////////////////////////////////////////////////////////////
@@ -485,33 +432,21 @@
PeriodicClusterEvent;
#ifdef CLUSTER_TOMCAT
-extern int
- CacheClusteringEnabled;
+extern int cache_clustering_enabled;
-int
- CacheClusterMonitorEnabled = 0;
-int
- CacheClusterMonitorIntervalSecs = 1;
+int CacheClusterMonitorEnabled = 0;
+int CacheClusterMonitorIntervalSecs = 1;
-int
- cluster_send_buffer_size = 0;
-int
- cluster_receive_buffer_size = 0;
-unsigned long
- cluster_sockopt_flags = 0;
+int cluster_send_buffer_size = 0;
+int cluster_receive_buffer_size = 0;
+unsigned long cluster_sockopt_flags = 0;
-int
- RPC_only_CacheCluster = 0;
+int RPC_only_CacheCluster = 0;
#endif
int
ClusterProcessor::init()
{
- // This isn't used. /leif
- //EThread *thread = this_ethread();
- //ProxyMutex *mutex = thread->mutex;
-
-
cluster_rsb = RecAllocateRawStatBlock((int) cluster_stat_count);
//
// Statistics callbacks
@@ -886,11 +821,11 @@
memset(channel_dummy_output, 0, sizeof(channel_dummy_output));
if (cluster_type == 1) {
- CacheClusteringEnabled = 1;
+ cache_clustering_enabled = 1;
Note("cache clustering enabled");
compute_cluster_mode();
} else {
- CacheClusteringEnabled = 0;
+ cache_clustering_enabled = 0;
Note("cache clustering disabled");
}
return 0;
@@ -909,7 +844,7 @@
#ifdef LOCAL_CLUSTER_TEST_MODE
this_cluster_machine()->cluster_port = cluster_port;
#endif
- if (CacheClusteringEnabled && (cacheProcessor.IsCacheEnabled() == CACHE_INITIALIZED)) {
+ if (cache_clustering_enabled && (cacheProcessor.IsCacheEnabled() == CACHE_INITIALIZED)) {
ET_CLUSTER = eventProcessor.spawn_event_threads(1);
for (int i = 0; i < eventProcessor.n_threads_for_type[ET_CLUSTER]; i++) {
@@ -1003,13 +938,13 @@
ClusterProcessor::compute_cluster_mode()
{
if (RPC_only_CacheCluster) {
- if (CacheClusteringEnabled > 0) {
- CacheClusteringEnabled = -1;
+ if (cache_clustering_enabled > 0) {
+ cache_clustering_enabled = -1;
Note("RPC only cache clustering");
}
} else {
- if (CacheClusteringEnabled < 0) {
- CacheClusteringEnabled = 1;
+ if (cache_clustering_enabled < 0) {
+ cache_clustering_enabled = 1;
Note("RPC only cache clustering disabled");
}
}
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterVConnection.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterVConnection.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterVConnection.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/ClusterVConnection.cc Wed Feb 24 18:48:42 2010
@@ -70,7 +70,7 @@
#endif
VIO *
-ClusterVConnectionBase::do_io_read(Continuation * acont, int anbytes, MIOBuffer * abuffer)
+ClusterVConnectionBase::do_io_read(Continuation * acont, ink64 anbytes, MIOBuffer * abuffer)
{
ink_assert(!closed);
read.vio.buffer.writer_for(abuffer);
@@ -87,7 +87,28 @@
}
VIO *
-ClusterVConnectionBase::do_io_write(Continuation * acont, int anbytes, IOBufferReader * abuffer, bool owner)
+ClusterVConnectionBase::do_io_pread(Continuation * acont, ink64 anbytes, MIOBuffer * abuffer, ink64 off)
+{
+ ink_assert(!"implemented");
+ return 0;
+}
+
+int
+ClusterVConnection::get_header(void **ptr, int *len)
+{
+ ink_assert(!"implemented");
+ return -1;
+}
+
+int
+ClusterVConnection::set_header(void *ptr, int len)
+{
+ ink_assert(!"implemented");
+ return -1;
+}
+
+VIO *
+ClusterVConnectionBase::do_io_write(Continuation * acont, ink64 anbytes, IOBufferReader * abuffer, bool owner)
{
ink_assert(!closed);
ink_assert(!owner);
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/Makefile.am?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/Makefile.am Wed Feb 24 18:48:42 2010
@@ -17,19 +17,11 @@
# limitations under the License.
AM_CPPFLAGS = \
- -I$(top_srcdir)/libinktomi++ \
- -I$(top_srcdir)/iocore/utils \
- -I$(top_srcdir)/iocore/eventsystem \
- -I$(top_srcdir)/iocore/net \
- -I$(top_srcdir)/iocore/aio \
- -I$(top_srcdir)/iocore/cache \
- -I$(top_srcdir)/iocore/dns \
- -I$(top_srcdir)/iocore/hostdb \
+ $(iocore_include_dirs) \
-I$(top_srcdir)/proxy/http2 \
-I$(top_srcdir)/proxy/hdrs \
-I$(top_srcdir)/proxy/api/include \
-I$(top_srcdir)/proxy \
- -I$(top_srcdir)/librecords \
-I$(top_srcdir)/proxy/mgmt2 \
-I$(top_srcdir)/proxy/mgmt2/preparse \
-I$(top_srcdir)/proxy/mgmt2/cluster \
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/P_Cluster.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/P_Cluster.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/P_Cluster.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/P_Cluster.h Wed Feb 24 18:48:42 2010
@@ -23,10 +23,6 @@
#ifndef _P_CLUSTER_H__
#define _P_CLUSTER_H__
-#ifndef INLINE_CC
-#undef INK_INLINE
-#define INK_INLINE inline
-#endif
#include "inktomi++.h"
#include "P_EventSystem.h"
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCache.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCache.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCache.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCache.h Wed Feb 24 18:48:42 2010
@@ -371,14 +371,15 @@
// creation callback.
//
- virtual VIO *do_io_read(Continuation * c, int nbytes, MIOBuffer * buf);
- virtual VIO *do_io_write(Continuation * c, int nbytes, IOBufferReader * buf, bool owner = false);
+ virtual VIO *do_io_read(Continuation * c, ink64 nbytes, MIOBuffer * buf);
+ virtual VIO *do_io_write(Continuation * c, ink64 nbytes, IOBufferReader * buf, bool owner = false);
virtual void do_io_shutdown(ShutdownHowTo_t howto)
{
(void) howto;
ink_assert(!"shutdown of cluster connection");
}
virtual void do_io_close(int lerrno = -1);
+ virtual VIO* do_io_pread(Continuation*, ink64, MIOBuffer*, ink64);
// Set the timeouts associated with this connection.
// active_timeout is for the total elasped time of the connection.
@@ -530,8 +531,8 @@
// 0 on success -1 on failure
int start(EThread * t); // New connect protocol
- ClusterVConnection(int is_new_connect_read = 0);
- ~ClusterVConnection();
+ ClusterVConnection(int is_new_connect_read = 0);
+ ~ClusterVConnection();
void free(); // Destructor actions (we are using ClassAllocator)
virtual void do_io_close(int lerrno = -1);
@@ -564,28 +565,28 @@
void set_type(int);
ink_hrtime start_time;
ink_hrtime last_activity_time;
- Queue<ByteBankDescriptor> byte_bank_q; // done awaiting completion
+ Queue<ByteBankDescriptor> byte_bank_q; // done awaiting completion
int n_set_data_msgs; // # pending set_data() msgs on VC
int n_recv_set_data_msgs; // # set_data() msgs received on VC
volatile int pending_remote_fill; // Remote fill pending on connection
- Ptr<IOBufferBlock> read_block; // Hold current data for open read
+ Ptr<IOBufferBlock> read_block; // Hold current data for open read
bool have_all_data; // All data in read_block
int initial_data_bytes; // bytes in open_read buffer
- Ptr<IOBufferBlock> remote_write_block; // Write side data for remote fill
+ Ptr<IOBufferBlock> remote_write_block; // Write side data for remote fill
void *current_cont; // Track current continuation (debug)
#define CLUSTER_IOV_NOT_OPEN -2
#define CLUSTER_IOV_NONE -1
int iov_map; // which iov?
- Ptr<ProxyMutex> read_locked;
- Ptr<ProxyMutex> write_locked;
+ Ptr<ProxyMutex> read_locked;
+ Ptr<ProxyMutex> write_locked;
// Data buffer for unmarshaled objects from remote node.
- Ptr<IOBufferData> marshal_buf;
+ Ptr<IOBufferData> marshal_buf;
// Pending write data
- Ptr<IOBufferBlock> write_list;
+ Ptr<IOBufferBlock> write_list;
IOBufferBlock *write_list_tail;
int write_list_bytes;
int write_bytes_in_transit;
@@ -614,6 +615,8 @@
{
return 0;
}
+ virtual int get_header(void **ptr, int *len);
+ virtual int set_header(void *ptr, int len);
};
//
Modified: incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCacheInternal.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCacheInternal.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCacheInternal.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/cluster/P_ClusterCacheInternal.h Wed Feb 24 18:48:42 2010
@@ -218,7 +218,7 @@
ink_assert(rw_buf_msg == 0);
ink_assert(rw_buf_msg_len);
if (rw_buf_msg_len <= DEFAULT_MAX_BUFFER_SIZE) {
- rw_buf_msg = new_IOBufferData(buffer_size_to_index(rw_buf_msg_len));
+ rw_buf_msg = new_IOBufferData(buffer_size_to_index(rw_buf_msg_len, MAX_BUFFER_SIZE_INDEX));
} else {
rw_buf_msg = new_xmalloc_IOBufferData(xmalloc(rw_buf_msg_len), rw_buf_msg_len);
}
@@ -812,7 +812,6 @@
case CACHE_EVENT_LINK:
case CACHE_EVENT_LINK_FAILED:
case CACHE_EVENT_OPEN_READ_FAILED:
- case CACHE_EVENT_OPEN_READ_FAILED_IN_PROGRESS:
case CACHE_EVENT_OPEN_WRITE_FAILED:
case CACHE_EVENT_REMOVE_FAILED:
case CACHE_EVENT_UPDATE_FAILED:
@@ -829,7 +828,6 @@
switch (event) {
case CACHE_EVENT_LOOKUP_FAILED:
case CACHE_EVENT_OPEN_READ_FAILED:
- case CACHE_EVENT_OPEN_READ_FAILED_IN_PROGRESS:
case CACHE_EVENT_OPEN_WRITE_FAILED:
case CACHE_EVENT_UPDATE_FAILED:
case CACHE_EVENT_REMOVE_FAILED:
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/DNS.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/DNS.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/DNS.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/DNS.cc Wed Feb 24 18:48:42 2010
@@ -314,8 +314,19 @@
memcpy(request, x, len);
}
#endif
- if (sem_ent)
+ if (sem_ent) {
+#if (HOST_OS == darwin)
+ static int qnum = 0;
+ char sname[NAME_MAX];
+ int retval;
+ qnum++;
+ snprintf(sname,NAME_MAX,"%s%d","DNSEntry",qnum);
+ retval = ink_sem_unlink(sname); // FIXME: remove, semaphore should be properly deleted after usage
+ sem = ink_sem_open(sname, O_CREAT | O_EXCL, 0777, 0);
+#else /* !darwin */
ink_sem_init(&sem, 0);
+#endif /* !darwin */
+ }
SET_HANDLER((DNSEntryHandler) & DNSEntry::mainEvent);
}
@@ -337,16 +348,7 @@
}
if (con[icon].fd != NO_FD) { // Remove old FD from epoll fd
-#if defined(USE_EPOLL)
- struct epoll_event ev;
- memset(&ev, 0, sizeof(struct epoll_event));
- epoll_ctl(pd->epoll_fd, EPOLL_CTL_DEL, con[icon].fd, &ev);
-#elif defined(USE_KQUEUE)
- struct kevent ev[2];
- EV_SET(&ev[0], con[icon].fd, EVFILT_READ, EV_DELETE, 0, 0, NULL);
- EV_SET(&ev[1], con[icon].fd, EVFILT_WRITE, EV_DELETE, 0, 0, NULL);
- kevent(pd->kqueue_fd, &ev[0], 2, NULL, 0, NULL);
-#endif
+ con[icon].eio.stop();
con[icon].close();
}
@@ -361,30 +363,7 @@
return;
} else {
ns_down[icon] = 0;
- if (con[icon].epoll_ptr == NULL) { // Allocate the epoll private data
- struct epoll_data_ptr *eptr;
-
- eptr = (struct epoll_data_ptr *) xmalloc(sizeof(struct epoll_data_ptr));
- eptr->type = EPOLL_DNS_CONNECTION;
- eptr->data.dnscon = &con[icon];
- con[icon].epoll_ptr = eptr;
- }
-
- int r;
-#if defined(USE_EPOLL)
- struct epoll_event ev;
- memset(&ev, 0, sizeof(struct epoll_event));
- ev.events = EPOLLIN;
- ev.data.ptr = con[icon].epoll_ptr;
- r = epoll_ctl(pd->epoll_fd, EPOLL_CTL_ADD, con[icon].fd, &ev);
-#elif defined(USE_KQUEUE)
- struct kevent ev;
- EV_SET(&ev, con[icon].fd, EVFILT_READ, EV_ADD, 0, 0, con[icon].epoll_ptr);
- r = kevent(pd->kqueue_fd, &ev, 1, NULL, 0, NULL);
-#else
-#error port me
-#endif
- if (r < 0) { // Add the FD to epoll fd
+ if (con[icon].eio.start(pd, &con[icon], EVENTIO_READ) < 0) {
Error("iocore_dns", "open_con: Failed to add %d server to epoll list\n", icon);
} else {
con[icon].num = icon;
@@ -1025,9 +1004,18 @@
if (proxy_cache)
e->proxy_cache = true;
e->init(x, len, type, cont, wait, adnsH, timeout);
- dnsProcessor.thread->schedule_imm(e);
- if (wait)
+ MUTEX_TRY_LOCK(lock, e->mutex, this_ethread());
+ if (!lock)
+ dnsProcessor.thread->schedule_imm(e);
+ else
+ e->handleEvent(EVENT_IMMEDIATE, 0);
+ if (wait) {
+#if (HOST_OS == darwin)
+ ink_sem_wait(e->sem);
+#else
ink_sem_wait(&e->sem);
+#endif
+ }
return wait ? ACTION_RESULT_DONE : &e->action;
}
@@ -1154,7 +1142,11 @@
//
if (sem_ent) {
*sem_ent = ent;
+#if (HOST_OS == darwin)
+ ink_sem_post(sem);
+#else
ink_sem_post(&sem);
+#endif
} else {
if (!action.mutex->is_thread()) {
MUTEX_TRY_LOCK(lock, action.mutex, h->mutex->thread_holding);
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/DNSConnection.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/DNSConnection.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/DNSConnection.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/DNSConnection.cc Wed Feb 24 18:48:42 2010
@@ -29,8 +29,6 @@
**************************************************************************/
#include "ink_unused.h" /* MAGIC_EDITING_TAG */
-#include "ink_platform.h"
-
#include "P_DNS.h"
#include "P_DNSConnection.h"
@@ -49,7 +47,7 @@
//
DNSConnection::DNSConnection():
-fd(NO_FD), num(0), epoll_ptr(NULL)
+fd(NO_FD), num(0)
{
memset(&sa, 0, sizeof(struct sockaddr_in));
}
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/I_DNS.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/I_DNS.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/I_DNS.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/I_DNS.h Wed Feb 24 18:48:42 2010
@@ -32,10 +32,6 @@
#ifndef _I_DNS_h_
#define _I_DNS_h_
-#ifndef INK_INLINE
-#define INK_INLINE
-#endif
-
#include "I_EventSystem.h"
#include "I_HostDB.h"
#include "I_Net.h"
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/Makefile.am?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/Makefile.am Wed Feb 24 18:48:42 2010
@@ -17,14 +17,7 @@
# limitations under the License.
AM_CPPFLAGS = \
- -I$(top_srcdir)/libinktomi++ \
- -I$(top_srcdir)/iocore/eventsystem \
- -I$(top_srcdir)/iocore/net \
- -I$(top_srcdir)/iocore/cache \
- -I$(top_srcdir)/iocore/aio \
- -I$(top_srcdir)/iocore/utils \
- -I$(top_srcdir)/iocore/cluster \
- -I$(top_srcdir)/iocore/hostdb \
+ $(iocore_include_dirs) \
-I$(top_srcdir)/librecords \
-I$(top_srcdir)/proxy/http2 \
-I$(top_srcdir)/proxy/hdrs \
@@ -50,7 +43,6 @@
I_DNSProcessor.h \
I_SplitDNS.h \
I_SplitDNSProcessor.h \
- Inline.cc \
P_DNS.h \
P_DNSConnection.h \
P_DNSProcessor.h \
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/P_DNS.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/P_DNS.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/P_DNS.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/P_DNS.h Wed Feb 24 18:48:42 2010
@@ -30,15 +30,8 @@
#if !defined (_P_DNS_h_)
#define _P_DNS_h_
-#ifndef INLINE_CC
-#undef INK_INLINE
-#define INK_INLINE inline
-#endif
-
-
-#include "I_DNS.h"
#include "inktomi++.h"
-//#include <arpa/nameser.h>
+#include "I_DNS.h"
#include "P_EventSystem.h"
#include "I_Cache.h"
#include "P_Net.h"
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSConnection.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSConnection.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSConnection.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSConnection.h Wed Feb 24 18:48:42 2010
@@ -32,11 +32,11 @@
#define __P_DNSCONNECTION_H__
#include "I_EventSystem.h"
+
//
// Defines
//
-//#define NO_FD (-1)
#define NON_BLOCKING_CONNECT true
#define BLOCKING_CONNECT false
#define CONNECT_WITH_TCP true
@@ -52,21 +52,17 @@
#define BC_NO_BIND true
#define BC_BIND false
-///////////////////////////////////////////////////////////////////////
//
// Connection
//
-///////////////////////////////////////////////////////////////////////
+
struct DNSConnection
{
int fd;
struct sockaddr_in sa;
-
- int num; //added by YTS Team, yamsat
-
- Link<DNSConnection> link; //added by YTS Team, yamsat
-
- struct epoll_data_ptr *epoll_ptr;
+ int num;
+ Link<DNSConnection> link;
+ EventIO eio;
int connect(unsigned int ip, int port,
bool non_blocking_connect = NON_BLOCKING_CONNECT,
@@ -74,8 +70,8 @@
int close(); // 0 on success, -errno on failure
- virtual ~ DNSConnection();
- DNSConnection();
+ virtual ~DNSConnection();
+ DNSConnection();
};
#endif /*_P_DNSConnection_h*/
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSProcessor.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSProcessor.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSProcessor.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/P_DNSProcessor.h Wed Feb 24 18:48:42 2010
@@ -172,8 +172,11 @@
HostEnt *result_ent;
HostEnt **sem_ent;
+#if (HOST_OS == darwin)
+ ink_sem *sem;
+#else
ink_sem sem;
-
+#endif
DNSHandler *dnsH;
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/P_SplitDNS.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/P_SplitDNS.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/P_SplitDNS.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/P_SplitDNS.h Wed Feb 24 18:48:42 2010
@@ -31,11 +31,6 @@
#ifndef _P_SPLIT_DNS_H_
#define _P_SPLIT_DNS_H_
-#ifndef INLINE_CC
-#undef INK_INLINE
-#define INK_INLINE inline
-#endif
-
#include "P_DNS.h"
#include "I_SplitDNS.h"
#include "I_Lock.h"
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/SRV.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/SRV.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/SRV.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/SRV.cc Wed Feb 24 18:48:42 2010
@@ -39,12 +39,6 @@
ClassAllocator<SRV> SRVAllocator("SRVAllocator");
-INK_INLINE bool
-operator<(const SRV & left, const SRV & right)
-{
- return (left.getPriority() < right.getPriority()); /* lower priorities first :) */
-}
-
/*
To select a target to be contacted next, arrange all SRV RRs
(that have not been ordered yet) in any order, except that all
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/SRV.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/SRV.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/SRV.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/SRV.h Wed Feb 24 18:48:42 2010
@@ -102,7 +102,12 @@
};
-INK_INLINE bool operator<(const SRV & left, const SRV & right);
+inline bool
+operator<(const SRV & left, const SRV & right)
+{
+ return (left.getPriority() < right.getPriority()); /* lower priorities first :) */
+}
+
extern ClassAllocator<SRV> SRVAllocator;
class SRVHosts
Modified: incubator/trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/dns/SplitDNS.cc Wed Feb 24 18:48:42 2010
@@ -27,9 +27,11 @@
*
*
****************************************************************************/
+
+#include "inktomi++.h"
+
#ifdef SPLIT_DNS
-#include "ink_unused.h" /* MAGIC_EDITING_TAG */
#include "P_SplitDNS.h"
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/IOBuffer.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/IOBuffer.cc?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/IOBuffer.cc (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/IOBuffer.cc Wed Feb 24 18:48:42 2010
@@ -36,9 +36,9 @@
inkcoreapi ClassAllocator<MIOBuffer> ioAllocator("ioAllocator", DEFAULT_BUFFER_NUMBER);
inkcoreapi ClassAllocator<IOBufferData> ioDataAllocator("ioDataAllocator", DEFAULT_BUFFER_NUMBER);
inkcoreapi ClassAllocator<IOBufferBlock> ioBlockAllocator("ioBlockAllocator", DEFAULT_BUFFER_NUMBER);
-int default_large_iobuffer_size = DEFAULT_LARGE_BUFFER_SIZE;
-int default_small_iobuffer_size = DEFAULT_SMALL_BUFFER_SIZE;
-int max_iobuffer_size = DEFAULT_BUFFER_SIZES - 1;
+ink64 default_large_iobuffer_size = DEFAULT_LARGE_BUFFER_SIZE;
+ink64 default_small_iobuffer_size = DEFAULT_SMALL_BUFFER_SIZE;
+ink64 max_iobuffer_size = DEFAULT_BUFFER_SIZES - 1;
//
// Initialization
@@ -49,8 +49,8 @@
char *name;
for (int i = 0; i < DEFAULT_BUFFER_SIZES; i++) {
- int s = DEFAULT_BUFFER_BASE_SIZE * (1 << i);
- int a = DEFAULT_BUFFER_ALIGNMENT;
+ ink64 s = DEFAULT_BUFFER_BASE_SIZE * (((ink64)1) << i);
+ ink64 a = DEFAULT_BUFFER_ALIGNMENT;
int n = i <= default_large_iobuffer_size ? DEFAULT_BUFFER_NUMBER : DEFAULT_HUGE_BUFFER_NUMBER;
if (s < a)
a = s;
@@ -61,10 +61,10 @@
}
}
-int
+ink64
MIOBuffer::remove_append(IOBufferReader * r)
{
- int l = 0;
+ ink64 l = 0;
while (r->block) {
Ptr<IOBufferBlock> b = r->block;
r->block = r->block->next;
@@ -81,15 +81,15 @@
return l;
}
-int
-MIOBuffer::write(const void *abuf, int alen)
+ink64
+MIOBuffer::write(const void *abuf, ink64 alen)
{
const char *buf = (const char*)abuf;
- int len = alen;
+ ink64 len = alen;
while (len) {
if (!_writer)
add_block();
- int f = _writer->write_avail();
+ ink64 f = _writer->write_avail();
f = f < len ? f : len;
if (f > 0) {
::memcpy(_writer->end(), buf, f);
@@ -115,10 +115,10 @@
* and this space becomes available to the copy.
*
*/
-int
-MIOBuffer::write_and_transfer_left_over_space(IOBufferReader * r, int alen, int offset)
+ink64
+MIOBuffer::write_and_transfer_left_over_space(IOBufferReader * r, ink64 alen, ink64 offset)
{
- int rval = write(r, alen, offset);
+ ink64 rval = write(r, alen, offset);
// reset the end markers of the original so that it cannot
// make use of the space in the current block
if (r->mbuf->_writer)
@@ -134,22 +134,22 @@
#endif
-int
-MIOBuffer::write(IOBufferReader * r, int alen, int offset)
+ink64
+MIOBuffer::write(IOBufferReader * r, ink64 alen, ink64 offset)
{
- int len = alen;
+ ink64 len = alen;
IOBufferBlock *b = r->block;
offset += r->start_offset;
while (b && len > 0) {
- int max_bytes = b->read_avail();
+ ink64 max_bytes = b->read_avail();
max_bytes -= offset;
if (max_bytes <= 0) {
offset = -max_bytes;
b = b->next;
continue;
}
- int bytes;
+ ink64 bytes;
if (len<0 || len>= max_bytes)
bytes = max_bytes;
else
@@ -165,8 +165,8 @@
return alen - len;
}
-int
-MIOBuffer::puts(char *s, int len)
+ink64
+MIOBuffer::puts(char *s, ink64 len)
{
char *pc = end();
char *pb = s;
@@ -174,7 +174,7 @@
if (len-- <= 0)
return -1;
if (!*pb || *pb == '\n') {
- int n = (int) (pb - s);
+ ink64 n = (ink64) (pb - s);
memcpy(end(), s, n + 1); // Upto and including '\n'
end()[n + 1] = 0;
fill(n + 1);
@@ -186,16 +186,16 @@
return 0;
}
-int
-IOBufferReader::read(void *ab, int len)
+ink64
+IOBufferReader::read(void *ab, ink64 len)
{
char *b = (char*)ab;
- int max_bytes = read_avail();
- int bytes = len <= max_bytes ? len : max_bytes;
- int n = bytes;
+ ink64 max_bytes = read_avail();
+ ink64 bytes = len <= max_bytes ? len : max_bytes;
+ ink64 n = bytes;
while (n) {
- int l = block_read_avail();
+ ink64 l = block_read_avail();
if (n < l)
l = n;
::memcpy(b, start(), l);
@@ -206,22 +206,22 @@
return bytes;
}
-int
-IOBufferReader::memchr(char c, int len, int offset)
+ink64
+IOBufferReader::memchr(char c, ink64 len, ink64 offset)
{
IOBufferBlock *b = block;
offset += start_offset;
- int o = offset;
+ ink64 o = offset;
while (b && len) {
- int max_bytes = b->read_avail();
+ ink64 max_bytes = b->read_avail();
max_bytes -= offset;
if (max_bytes <= 0) {
offset = -max_bytes;
b = b->next;
continue;
}
- int bytes;
+ ink64 bytes;
if (len<0 || len>= max_bytes)
bytes = max_bytes;
else
@@ -229,7 +229,7 @@
char *s = b->start() + offset;
char *p = (char *) ink_memchr(s, c, bytes);
if (p)
- return (int) (o - start_offset + p - s);
+ return (ink64) (o - start_offset + p - s);
o += bytes;
len -= bytes;
b = b->next;
@@ -240,21 +240,21 @@
}
char *
-IOBufferReader::memcpy(void *ap, int len, int offset)
+IOBufferReader::memcpy(void *ap, ink64 len, ink64 offset)
{
char *p = (char*)ap;
IOBufferBlock *b = block;
offset += start_offset;
while (b && len) {
- int max_bytes = b->read_avail();
+ ink64 max_bytes = b->read_avail();
max_bytes -= offset;
if (max_bytes <= 0) {
offset = -max_bytes;
b = b->next;
continue;
}
- int bytes;
+ ink64 bytes;
if (len<0 || len>= max_bytes)
bytes = max_bytes;
else
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EThread.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EThread.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EThread.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EThread.h Wed Feb 24 18:48:42 2010
@@ -29,7 +29,6 @@
#include "I_Thread.h"
#include "I_PriorityEventQueue.h"
#include "I_ProxyAllocator.h"
-
#include "I_ProtectedQueue.h"
#define PER_THREAD_DATA (1024*1024)
@@ -46,6 +45,7 @@
struct LogEventForwarder;
struct Event;
struct SessionBucket;
+struct EventIO;
class IOBufferData;
class IOBufferBlock;
@@ -277,7 +277,7 @@
ProxyAllocator evacuationBlockAllocator;
ProxyAllocator ioDataAllocator;
ProxyAllocator ioBlockAllocator;
- ProxyAllocator ioBufAllocator[9];
+ ProxyAllocator ioBufAllocator[DEFAULT_BUFFER_SIZES];
private:
@@ -325,12 +325,22 @@
unsigned int event_types;
bool is_event_type(EventType et);
void set_event_type(EventType et);
+#if defined(USE_OLD_EVENTFD)
int getEventFd();
+#endif
// Private Interface
void execute();
void process_event(Event * e, int calling_code);
void free_event(Event * e);
+ void (*signal_hook)(EThread *);
+
+#ifdef HAVE_EVENTFD
+ int evfd;
+#else
+ int evpipe[2];
+#endif
+ EventIO *ep;
ThreadType tt;
Event *oneevent; // For dedicated event thread
@@ -353,5 +363,5 @@
#define ETHREAD_GET_PTR(thread, offset) ((void*)((char*)(thread)+(offset)))
-INK_INLINE EThread *this_ethread();
+inline EThread *this_ethread();
#endif /*_EThread_h_*/
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EventSystem.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EventSystem.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EventSystem.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_EventSystem.h Wed Feb 24 18:48:42 2010
@@ -27,10 +27,6 @@
#include "inktomi++.h"
-#ifndef INK_INLINE
-#define INK_INLINE
-#endif
-
#include "I_IOBuffer.h"
#include "I_Action.h"
#include "I_Continuation.h"
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_IOBuffer.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_IOBuffer.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_IOBuffer.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_IOBuffer.h Wed Feb 24 18:48:42 2010
@@ -50,9 +50,9 @@
// Removing this optimization since this is breaking WMT over HTTP
//#define WRITE_AND_TRANSFER
-inkcoreapi extern int max_iobuffer_size;
-extern int default_small_iobuffer_size;
-extern int default_large_iobuffer_size; // matched to size of OS buffers
+inkcoreapi extern ink64 max_iobuffer_size;
+extern ink64 default_small_iobuffer_size;
+extern ink64 default_large_iobuffer_size; // matched to size of OS buffers
#if !defined(PURIFY)
// Define this macro to enable buffer usage tracking.
@@ -92,17 +92,18 @@
#define BUFFER_SIZE_INDEX_8K 6
#define BUFFER_SIZE_INDEX_16K 7
#define BUFFER_SIZE_INDEX_32K 8
+#define BUFFER_SIZE_INDEX_64K 9
+#define MAX_BUFFER_SIZE_INDEX 9
+#define DEFAULT_BUFFER_SIZES (MAX_BUFFER_SIZE_INDEX+1)
#define BUFFER_SIZE_FOR_INDEX(_i) (DEFAULT_BUFFER_BASE_SIZE * (1 << (_i)))
#define DEFAULT_SMALL_BUFFER_SIZE BUFFER_SIZE_INDEX_512
#define DEFAULT_LARGE_BUFFER_SIZE BUFFER_SIZE_INDEX_4K
#define DEFAULT_TS_BUFFER_SIZE BUFFER_SIZE_INDEX_8K
-#define DEFAULT_MAX_BUFFER_SIZE \
-BUFFER_SIZE_FOR_INDEX(DEFAULT_BUFFER_SIZES-1)
+#define DEFAULT_MAX_BUFFER_SIZE BUFFER_SIZE_FOR_INDEX(MAX_BUFFER_SIZE_INDEX)
#define MIN_IOBUFFER_SIZE BUFFER_SIZE_INDEX_128
#define MAX_IOBUFFER_SIZE (DEFAULT_BUFFER_SIZES-1)
-#define DEFAULT_BUFFER_SIZES (BUFFER_SIZE_INDEX_32K+1)
#define BUFFER_SIZE_ALLOCATED(_i) \
(BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED(_i) || \
@@ -111,9 +112,9 @@
#define BUFFER_SIZE_NOT_ALLOCATED DEFAULT_BUFFER_SIZES
#define BUFFER_SIZE_INDEX_IS_XMALLOCED(_size_index) (_size_index < 0)
#define BUFFER_SIZE_INDEX_IS_FAST_ALLOCATED(_size_index) \
- ((unsigned int)_size_index < DEFAULT_BUFFER_SIZES)
+ (((inku64)_size_index) < DEFAULT_BUFFER_SIZES)
#define BUFFER_SIZE_INDEX_IS_CONSTANT(_size_index) \
- ((unsigned int)_size_index >= DEFAULT_BUFFER_SIZES)
+ (_size_index >= DEFAULT_BUFFER_SIZES)
#define BUFFER_SIZE_FOR_XMALLOC(_size) (-(_size))
#define BUFFER_SIZE_INDEX_FOR_XMALLOC_SIZE(_size) (-(_size))
@@ -178,7 +179,7 @@
@return number of bytes allocated for the '_data' member.
*/
- int block_size();
+ ink64 block_size();
/**
Frees the memory managed by this IOBufferData. Deallocates the
@@ -198,7 +199,7 @@
@param size_index
@param type of allocation to use; see remarks section.
*/
- void alloc(int size_index, AllocType type = DEFAULT_ALLOC);
+ void alloc(ink64 size_index, AllocType type = DEFAULT_ALLOC);
/**
Provides access to the allocated memory. Returns the address of the
@@ -232,7 +233,7 @@
*/
virtual void free();
- int _size_index;
+ ink64 _size_index;
/**
Type of allocation used for the managed memory. Stores the type of
@@ -339,9 +340,9 @@
@return bytes occupied by the inuse area.
*/
- int size()
+ ink64 size()
{
- return (int) (_end - _start);
+ return (ink64) (_end - _start);
}
/**
@@ -351,9 +352,9 @@
@return bytes available for reading from the inuse area.
*/
- int read_avail()
+ ink64 read_avail()
{
- return (int) (_end - _start);
+ return (ink64) (_end - _start);
}
/**
@@ -362,9 +363,9 @@
@return space available for writing in this IOBufferBlock.
*/
- int write_avail()
+ ink64 write_avail()
{
- return (int) (_buf_end - _end);
+ return (ink64) (_buf_end - _end);
}
/**
@@ -377,7 +378,7 @@
IOBufferBlock.
*/
- int block_size()
+ ink64 block_size()
{
return data->block_size();
}
@@ -391,7 +392,7 @@
the inuse area.
*/
- void consume(int len);
+ void consume(ink64 len);
/**
Increase the inuse area of the block. Adds 'len' bytes to the inuse
@@ -403,7 +404,7 @@
or equal to the value of write_avail().
*/
- void fill(int len);
+ void fill(ink64 len);
/**
Reset the inuse area. The start and end of the inuse area are reset
@@ -442,7 +443,7 @@
section in MIOBuffer.
*/
- void alloc(int i = default_large_iobuffer_size);
+ void alloc(ink64 i = default_large_iobuffer_size);
/**
Clear the IOBufferData this IOBufferBlock handles. Clears this
@@ -464,13 +465,13 @@
and to mark its start.
*/
- void set(IOBufferData * d, int len = 0, int offset = 0);
- void set_internal(void *b, int len, int asize_index);
- void realloc_set_internal(void *b, int buf_size, int asize_index);
- void realloc(void *b, int buf_size);
- void realloc(int i);
- void realloc_xmalloc(void *b, int buf_size);
- void realloc_xmalloc(int buf_size);
+ void set(IOBufferData * d, ink64 len = 0, ink64 offset = 0);
+ void set_internal(void *b, ink64 len, ink64 asize_index);
+ void realloc_set_internal(void *b, ink64 buf_size, ink64 asize_index);
+ void realloc(void *b, ink64 buf_size);
+ void realloc(ink64 i);
+ void realloc_xmalloc(void *b, ink64 buf_size);
+ void realloc_xmalloc(ink64 buf_size);
/**
Frees the IOBufferBlock object and its underlying memory.
@@ -563,7 +564,7 @@
@return bytes of data available across all the buffers.
*/
- int read_avail();
+ ink64 read_avail();
/**
Number of IOBufferBlocks with data in the block list. Returns the
@@ -584,7 +585,7 @@
buffer.
*/
- int block_read_avail();
+ ink64 block_read_avail();
void skip_empty_blocks();
@@ -615,7 +616,7 @@
to read_avail().
*/
- void consume(int n);
+ void consume(ink64 n);
/**
Create another reader with access to the same data as this
@@ -689,7 +690,7 @@
@param c character to look for.
@param len number of characters to check. If len exceeds the number
- of bytes available on the buffer or INT_MAX is passed in, the
+ of bytes available on the buffer or INK64_MAX is passed in, the
number of bytes available to the reader is used. It is independent
of the offset value.
@param offset number of the bytes to skip over before beginning
@@ -698,7 +699,7 @@
ocurrence.
*/
- inkcoreapi int memchr(char c, int len = INT_MAX, int offset = 0);
+ inkcoreapi ink64 memchr(char c, ink64 len = INK64_MAX, ink64 offset = 0);
/**
Copies and consumes data. Copies len bytes of data from the buffer
@@ -714,7 +715,7 @@
@return number of bytes copied and consumed.
*/
- inkcoreapi int read(void *buf, int len);
+ inkcoreapi ink64 read(void *buf, ink64 len);
/**
Copy data but do not consume it. Copies 'len' bytes of data from
@@ -725,7 +726,7 @@
@param buf in which to place the data. The pointer is modified after
the call and points one position after the end of the data copied.
@param len bytes to copy. If len exceeds the bytes available to the
- reader or INT_MAX is passed in, the number of bytes available is
+ reader or INK64_MAX is passed in, the number of bytes available is
used instead. No data is consumed from the reader in this operation.
@param offset bytes to skip from the current position. The parameter
is modified after the call.
@@ -733,7 +734,7 @@
parameter buf is set to this value also.
*/
- inkcoreapi char *memcpy(void *buf, int len = INT_MAX, int offset = 0);
+ inkcoreapi char *memcpy(void *buf, ink64 len = INK64_MAX, ink64 offset = 0);
/**
Subscript operator. Returns a reference to the character at the
@@ -746,7 +747,7 @@
@return reference to the character in that position.
*/
- char &operator[] (int i);
+ char &operator[] (ink64 i);
MIOBuffer *writer()
{
@@ -773,10 +774,10 @@
of the available data.
*/
- int start_offset;
- int size_limit;
+ ink64 start_offset;
+ ink64 size_limit;
-IOBufferReader():accessor(NULL), mbuf(NULL), start_offset(0), size_limit(MAXINT) {
+ IOBufferReader():accessor(NULL), mbuf(NULL), start_offset(0), size_limit(INK64_MAX) {
}
};
@@ -808,7 +809,7 @@
@param len number of bytes to add to the inuse area of the block.
*/
- void fill(int len);
+ void fill(ink64 len);
/**
Adds a block to the end of the block list. The block added to list
@@ -824,7 +825,7 @@
buffer block sizes.
*/
- void append_block(int asize_index);
+ void append_block(ink64 asize_index);
/**
Adds new block to the end of block list using the block size for
@@ -840,7 +841,7 @@
by the buffer once all readers on the buffer have consumed it.
*/
- void append_xmalloced(void *b, int len);
+ void append_xmalloced(void *b, ink64 len);
/**
Adds by reference len bytes of data pointed to by b to the end of the
@@ -850,7 +851,7 @@
have consumed it.
*/
- void append_fast_allocated(void *b, int len, int fast_size_index);
+ void append_fast_allocated(void *b, ink64 len, ink64 fast_size_index);
/**
Adds the nbytes worth of data pointed by rbuf to the buffer. The
@@ -859,7 +860,7 @@
control. Returns the number of bytes added.
*/
- inkcoreapi int write(const void *rbuf, int nbytes);
+ inkcoreapi ink64 write(const void *rbuf, ink64 nbytes);
#ifdef WRITE_AND_TRANSFER
/**
@@ -868,7 +869,7 @@
this space becomes available to the copy.
*/
- inkcoreapi int write_and_transfer_left_over_space(IOBufferReader * r, int len = MAXINT, int offset = 0);
+ inkcoreapi ink64 write_and_transfer_left_over_space(IOBufferReader * r, ink64 len = INK64_MAX, ink64 offset = 0);
#endif
/**
@@ -896,9 +897,9 @@
rather than sharing blocks to prevent a build of blocks on the buffer.
*/
- inkcoreapi int write(IOBufferReader * r, int len = MAXINT, int offset = 0);
+ inkcoreapi ink64 write(IOBufferReader * r, ink64 len = INK64_MAX, ink64 offset = 0);
- int remove_append(IOBufferReader *);
+ ink64 remove_append(IOBufferReader *);
/**
Returns a pointer to the first writable block on the block chain.
@@ -942,7 +943,7 @@
by first_write_block()).
*/
- int block_write_avail();
+ ink64 block_write_avail();
/**
Returns the amount of space of available for writing on all writable
@@ -950,7 +951,7 @@
block chain.
*/
- int current_write_avail();
+ ink64 current_write_avail();
/**
Adds blocks for writing if the watermark criteria are met. Returns
@@ -958,19 +959,19 @@
on the block chain after a block due to the watermark criteria.
*/
- int write_avail();
+ ink64 write_avail();
/**
Returns the default data block size for this buffer.
*/
- int block_size();
+ ink64 block_size();
/**
Returns the default data block size for this buffer.
*/
- int total_size()
+ ink64 total_size()
{
return block_size();
}
@@ -1005,7 +1006,7 @@
{
return current_write_avail() <= water_mark;
}
- void set_size_index(int size);
+ void set_size_index(ink64 size);
/**
Allocates a new IOBuffer reader and sets it's its 'accessor' field
@@ -1049,12 +1050,12 @@
*/
void dealloc_all_readers();
- void set(void *b, int len);
- void set_xmalloced(void *b, int len);
- void alloc(int i = default_large_iobuffer_size);
- void alloc_xmalloc(int buf_size);
+ void set(void *b, ink64 len);
+ void set_xmalloced(void *b, ink64 len);
+ void alloc(ink64 i = default_large_iobuffer_size);
+ void alloc_xmalloc(ink64 buf_size);
void append_block_internal(IOBufferBlock * b);
- int puts(char *buf, int len);
+ ink64 puts(char *buf, ink64 len);
// internal interface
@@ -1062,7 +1063,7 @@
{
return !_writer;
}
- int max_read_avail();
+ ink64 max_read_avail();
int max_block_count();
void check_add_block();
@@ -1099,24 +1100,24 @@
water_mark = 0;
}
- void realloc(int i)
+ void realloc(ink64 i)
{
_writer->realloc(i);
}
- void realloc(void *b, int buf_size)
+ void realloc(void *b, ink64 buf_size)
{
_writer->realloc(b, buf_size);
}
- void realloc_xmalloc(void *b, int buf_size)
+ void realloc_xmalloc(void *b, ink64 buf_size)
{
_writer->realloc_xmalloc(b, buf_size);
}
- void realloc_xmalloc(int buf_size)
+ void realloc_xmalloc(ink64 buf_size)
{
_writer->realloc_xmalloc(buf_size);
}
- int size_index;
+ ink64 size_index;
/**
Determines when to stop writing or reading. The watermark is the
@@ -1126,7 +1127,7 @@
no matter how small.
*/
- int water_mark;
+ ink64 water_mark;
// DEPRECATED
Link<MIOBuffer> link;
@@ -1138,8 +1139,8 @@
const char *_location;
#endif
- MIOBuffer(void *b, int bufsize, int aWater_mark);
- MIOBuffer(int default_size_index);
+ MIOBuffer(void *b, ink64 bufsize, ink64 aWater_mark);
+ MIOBuffer(ink64 default_size_index);
MIOBuffer();
~MIOBuffer();
};
@@ -1159,11 +1160,11 @@
return mbuf;
}
- int block_size()
+ ink64 block_size()
{
return mbuf->block_size();
}
- int total_size()
+ ink64 total_size()
{
return block_size();
}
@@ -1201,11 +1202,11 @@
MIOBufferAccessor & operator =(const MIOBufferAccessor &);
};
-INK_INLINE MIOBuffer * new_MIOBuffer_internal(
+inline MIOBuffer * new_MIOBuffer_internal(
#ifdef TRACK_BUFFER_USER
const char *loc,
#endif
- int size_index = default_large_iobuffer_size);
+ ink64 size_index = default_large_iobuffer_size);
#ifdef TRACK_BUFFER_USER
class MIOBuffer_tracker
@@ -1216,18 +1217,18 @@
MIOBuffer_tracker(const char *_loc):loc(_loc)
{
}
- MIOBuffer *operator() (int size_index = default_large_iobuffer_size) {
+ MIOBuffer *operator() (ink64 size_index = default_large_iobuffer_size) {
return new_MIOBuffer_internal(loc, size_index);
}
};
#endif
-INK_INLINE MIOBuffer * new_empty_MIOBuffer_internal(
+inline MIOBuffer * new_empty_MIOBuffer_internal(
#ifdef TRACK_BUFFER_USER
const char *loc,
#endif
- int size_index = default_large_iobuffer_size);
+ ink64 size_index = default_large_iobuffer_size);
#ifdef TRACK_BUFFER_USER
class Empty_MIOBuffer_tracker
@@ -1238,7 +1239,7 @@
Empty_MIOBuffer_tracker(const char *_loc):loc(_loc)
{
}
- MIOBuffer *operator() (int size_index = default_large_iobuffer_size) {
+ MIOBuffer *operator() (ink64 size_index = default_large_iobuffer_size) {
return new_empty_MIOBuffer_internal(loc, size_index);
}
};
@@ -1252,19 +1253,19 @@
#define new_MIOBuffer new_MIOBuffer_internal
#define new_empty_MIOBuffer new_empty_MIOBuffer_internal
#endif
-INK_INLINE void free_MIOBuffer(MIOBuffer * mio);
+inline void free_MIOBuffer(MIOBuffer * mio);
//////////////////////////////////////////////////////////////////////
-INK_INLINE IOBufferBlock * new_IOBufferBlock_internal(
+inline IOBufferBlock * new_IOBufferBlock_internal(
#ifdef TRACK_BUFFER_USER
const char *loc
#endif
);
-INK_INLINE IOBufferBlock * new_IOBufferBlock_internal(
+inline IOBufferBlock * new_IOBufferBlock_internal(
#ifdef TRACK_BUFFER_USER
const char *loc,
#endif
- IOBufferData * d, int len = 0, int offset = 0);
+ IOBufferData * d, ink64 len = 0, ink64 offset = 0);
#ifdef TRACK_BUFFER_USER
class IOBufferBlock_tracker
@@ -1279,7 +1280,7 @@
{
return new_IOBufferBlock_internal(loc);
}
- IOBufferBlock *operator() (IOBufferData * d, int len = 0, int offset = 0) {
+ IOBufferBlock *operator() (IOBufferData * d, ink64 len = 0, ink64 offset = 0) {
return new_IOBufferBlock_internal(loc, d, len, offset);
}
@@ -1294,24 +1295,24 @@
#endif
////////////////////////////////////////////////////////////
-INK_INLINE IOBufferData *new_IOBufferData_internal(
+inline IOBufferData *new_IOBufferData_internal(
#ifdef TRACK_BUFFER_USER
const char *location,
#endif
- int size_index = default_large_iobuffer_size,
+ ink64 size_index = default_large_iobuffer_size,
AllocType type = DEFAULT_ALLOC);
-INK_INLINE IOBufferData *new_xmalloc_IOBufferData_internal(
+inline IOBufferData *new_xmalloc_IOBufferData_internal(
#ifdef TRACK_BUFFER_USER
const char *location,
#endif
- void *b, int size);
+ void *b, ink64 size);
-INK_INLINE IOBufferData *new_constant_IOBufferData_internal(
+inline IOBufferData *new_constant_IOBufferData_internal(
#ifdef TRACK_BUFFER_USER
const char *loc,
#endif
- void *b, int size);
+ void *b, ink64 size);
#ifdef TRACK_BUFFER_USER
@@ -1323,7 +1324,7 @@
IOBufferData_tracker(const char *_loc):loc(_loc)
{
}
- IOBufferData *operator() (int size_index = default_large_iobuffer_size, AllocType type = DEFAULT_ALLOC) {
+ IOBufferData *operator() (ink64 size_index = default_large_iobuffer_size, AllocType type = DEFAULT_ALLOC) {
return new_IOBufferData_internal(loc, size_index, type);
}
@@ -1344,8 +1345,8 @@
#define new_constant_IOBufferData new_constant_IOBufferData_internal
#endif
-INK_INLINE int iobuffer_size_to_index(unsigned int size, int max = max_iobuffer_size);
-INK_INLINE int index_to_buffer_size(int idx);
+inline ink64 iobuffer_size_to_index(ink64 size, ink64 max = max_iobuffer_size);
+inline ink64 index_to_buffer_size(ink64 idx);
/**
Clone a IOBufferBlock chain. Used to snarf a IOBufferBlock chain
w/o copy.
@@ -1356,7 +1357,7 @@
@return ptr to head of new IOBufferBlock chain.
*/
-INK_INLINE IOBufferBlock *iobufferblock_clone(IOBufferBlock * b, int offset, int len);
+inline IOBufferBlock *iobufferblock_clone(IOBufferBlock * b, ink64 offset, ink64 len);
/**
Skip over specified bytes in chain. Used for dropping references.
@@ -1368,5 +1369,5 @@
@return ptr to head of new IOBufferBlock chain.
*/
-INK_INLINE IOBufferBlock *iobufferblock_skip(IOBufferBlock * b, int *poffset, int *plen, int write);
+inline IOBufferBlock *iobufferblock_skip(IOBufferBlock * b, ink64 *poffset, ink64 *plen, ink64 write);
#endif
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_ProtectedQueue.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_ProtectedQueue.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_ProtectedQueue.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_ProtectedQueue.h Wed Feb 24 18:48:42 2010
@@ -47,7 +47,11 @@
void remove(Event * e);
Event *dequeue_local();
void dequeue_timed(ink_hrtime cur_time, ink_hrtime timeout, bool sleep);
-
+#if defined(USE_OLD_EVENTFD)
+ void setWriteFd(int );
+ void setReadFd(int );
+ int getReadFd();
+#endif
void setWriteFd(int );
void setReadFd(int );
int getReadFd();
@@ -56,7 +60,10 @@
ink_mutex lock;
ink_cond might_have_data;
Que(Event, link) localQueue;
-
+#if defined(USE_OLD_EVENTFD)
+ int write_pipe_fd;
+ int read_pipe_fd;
+#endif
int write_pipe_fd;
int read_pipe_fd;
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_SocketManager.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_SocketManager.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_SocketManager.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_SocketManager.h Wed Feb 24 18:48:42 2010
@@ -94,6 +94,13 @@
int kevent(int kq, const struct kevent *changelist, int nchanges,
struct kevent *eventlist, int nevents,
const struct timespec *timeout);
+#elif defined(USE_PORT)
+ int port_create();
+ int port_associate(int port, int fd, uintptr_t obj,
+ int events, void *user);
+ int port_dissociate(int port, int fd, uintptr_t obj);
+ int port_getn(int port, port_event_t *list, uint_t max,
+ uint_t *nget, timespec_t *timeout);
#endif
int shutdown(int s, int how);
int dup(int s);
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_Thread.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_Thread.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_Thread.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_Thread.h Wed Feb 24 18:48:42 2010
@@ -133,8 +133,8 @@
}
};
-INK_INLINE ink_hrtime ink_get_hrtime();
-INK_INLINE ink_hrtime ink_get_based_hrtime();
-INK_INLINE Thread *this_thread();
+inline ink_hrtime ink_get_hrtime();
+inline ink_hrtime ink_get_based_hrtime();
+inline Thread *this_thread();
#endif /*_I_Thread_h*/
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VConnection.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VConnection.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VConnection.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VConnection.h Wed Feb 24 18:48:42 2010
@@ -185,12 +185,12 @@
@param c Continuation to be called back with events.
@param nbytes Number of bytes to read. If unknown, nbytes must
- be set to INT_MAX.
+ be set to INK64_MAX.
@param buf buffer to read into.
@return VIO representing the scheduled IO operation.
*/
- virtual VIO *do_io_read(Continuation * c = NULL, int nbytes = INT_MAX, MIOBuffer * buf = 0) = 0;
+ virtual VIO *do_io_read(Continuation *c = NULL, ink64 nbytes = INK64_MAX, MIOBuffer *buf = 0) = 0;
/**
Write data to the VConnection.
@@ -234,14 +234,14 @@
@param c Continuation to be called back with events.
@param nbytes Number of bytes to write. If unknown, nbytes must
- be set to INT_MAX.
+ be set to INK64_MAX.
@param buf Reader whose data is to be read from.
@param owner
@return VIO representing the scheduled IO operation.
*/
- virtual VIO *do_io_write(Continuation * c = NULL,
- int nbytes = INT_MAX, IOBufferReader * buf = 0, bool owner = false) = 0;
+ virtual VIO *do_io_write(Continuation *c = NULL,
+ ink64 nbytes = INK64_MAX, IOBufferReader *buf = 0, bool owner = false) = 0;
/**
Indicate that the VConnection is no longer needed.
@@ -303,23 +303,23 @@
*/
virtual void do_io_shutdown(ShutdownHowTo_t howto) = 0;
- VConnection(ProxyMutex * aMutex);
+ VConnection(ProxyMutex *aMutex);
#if defined (_IOCORE_WIN32_WINNT)
- virtual void set_nbytes(VIO * vio, int nbytes);
+ virtual void set_nbytes(VIO *vio, ink64 nbytes);
#endif
/** @deprecated */
- VIO *do_io(int op, Continuation * c = NULL, int nbytes = INT_MAX, MIOBuffer * buf = 0, int data = 0);
+ VIO *do_io(int op, Continuation *c = NULL, ink64 nbytes = INK64_MAX, MIOBuffer *buf = 0, int data = 0);
// Private
// Set continuation on a given vio. The public interface
// is through VIO::set_continuation()
- virtual void set_continuation(VIO * vio, Continuation * cont);
+ virtual void set_continuation(VIO *vio, Continuation *cont);
// Reenable a given vio. The public interface is through VIO::reenable
- virtual void reenable(VIO * vio);
- virtual void reenable_re(VIO * vio);
+ virtual void reenable(VIO *vio);
+ virtual void reenable_re(VIO *vio);
/**
Convenience function to retreive information from VConnection.
@@ -366,40 +366,6 @@
return NULL;
}
- /** Cache and cluster specific. */
- virtual int get_object_size()
- {
- ink_debug_assert(!"get_object_size not implemented");
- return 0;
- }
- virtual bool set_pin_in_cache(time_t time_pin)
- {
- (void) time_pin;
- ink_debug_assert(!"set_pin_in_cache not implemented");
- return false;
- }
- virtual time_t get_pin_in_cache()
- {
- ink_debug_assert(!"get_pin_in_cache not implemented");
- return (time_t) 0;
- }
- virtual bool set_disk_io_priority(int priority)
- {
- (void) priority;
- ink_debug_assert(!"set_disk_io_priority not implemented");
- return false;
- }
- virtual int get_disk_io_priority()
- {
- ink_debug_assert(!"get_disk_io_priority not implemented");
- return 0;
- }
- virtual bool is_ram_cache_hit()
- {
- ink_debug_assert(!"is_ram_cache_hit not implemented");
- return 0;
- }
-
public:
/**
@@ -414,7 +380,7 @@
struct DummyVConnection:VConnection
{
- virtual VIO *do_io_write(Continuation * c = NULL, int nbytes = INT_MAX, IOBufferReader * buf = 0, bool owner = false) {
+ virtual VIO *do_io_write(Continuation *c = NULL, ink64 nbytes = INK64_MAX, IOBufferReader *buf = 0, bool owner = false) {
(void) c;
(void) nbytes;
(void) buf;
@@ -422,7 +388,7 @@
ink_debug_assert(!"VConnection::do_io_write -- " "cannot use default implementation");
return NULL;
}
- virtual VIO *do_io_read(Continuation * c = NULL, int nbytes = INT_MAX, MIOBuffer * buf = 0) {
+ virtual VIO *do_io_read(Continuation *c = NULL, ink64 nbytes = INK64_MAX, MIOBuffer *buf = 0) {
(void) c;
(void) nbytes;
(void) buf;
@@ -439,14 +405,14 @@
ink_debug_assert(!"VConnection::do_io_shutdown -- " "cannot use default implementation");
}
#ifdef _IOCORE_WIN32_WINNT
- virtual void set_nbytes(VIO * vio, int nbytes)
+ virtual void set_nbytes(VIO *vio, ink64 nbytes)
{
(void) vio;
(void) nbytes;
ink_debug_assert(!"DummyVConnection::set_nbytes -- " "cannot use default implementation");
}
#endif
-DummyVConnection(ProxyMutex * m):VConnection(m) {
+DummyVConnection(ProxyMutex *m):VConnection(m) {
}
};
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VIO.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VIO.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VIO.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/I_VIO.h Wed Feb 24 18:48:42 2010
@@ -169,7 +169,7 @@
The total number of bytes this operation must complete.
*/
- int nbytes;
+ ink64 nbytes;
/**
Number of bytes already completed.
@@ -179,7 +179,7 @@
the lock.
*/
- int ndone;
+ ink64 ndone;
/**
Type of operation.
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/Makefile.am?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/Makefile.am Wed Feb 24 18:48:42 2010
@@ -34,7 +34,6 @@
I_EventSystem.h \
I_IOBuffer.h \
I_Lock.h \
- Inline.cc \
IOBuffer.cc \
I_PriorityEventQueue.h \
I_Processor.h \
Modified: incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_EventSystem.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_EventSystem.h?rev=915922&r1=915921&r2=915922&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_EventSystem.h (original)
+++ incubator/trafficserver/traffic/trunk/iocore/eventsystem/P_EventSystem.h Wed Feb 24 18:48:42 2010
@@ -30,10 +30,8 @@
**************************************************************************/
#ifndef _P_EventSystem_h
#define _P_EventSystem_h
-#ifndef INLINE_CC
-#undef INK_INLINE
-#define INK_INLINE inline
-#endif
+
+#include "inktomi++.h"
#include "I_EventSystem.h"