You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/11/19 05:35:54 UTC
svn commit: r1036737 [2/2] - in /trafficserver/traffic/trunk: example/remap/
proxy/ proxy/api/ts/ proxy/http2/
Modified: trafficserver/traffic/trunk/proxy/api/ts/experimental.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/api/ts/experimental.h?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/api/ts/experimental.h (original)
+++ trafficserver/traffic/trunk/proxy/api/ts/experimental.h Fri Nov 19 04:35:53 2010
@@ -544,32 +544,6 @@ extern "C"
****************************************************************************/
tsapi int TSSendClusterRPC(TSNodeHandle_t * nh, TSClusterRPCMsg_t * msg);
- /* ----------------------------------------------------------------------
- * Interfaces used for the AAA project
- * ---------------------------------------------------------------------- */
-
- /* ===== IP to User Name Cache ===== */
- /****************************************************************************
- * Insert a name into the user-name cache
- * Return
- * contact: AAA, CPOINT
- ****************************************************************************/
- tsapi int TSUserNameCacheInsert(TSCont contp, unsigned long ip, const char *userName);
-
- /****************************************************************************
- * Lookup a name in the user-name cache
- * Return
- * contact: AAA, CPOINT
- ****************************************************************************/
- tsapi int TSUserNameCacheLookup(TSCont contp, unsigned long ip, char *userName);
-
- /****************************************************************************
- * Remove a name from the user-name cache
- * Return
- * contact: AAA, CPOINT
- ****************************************************************************/
- tsapi int TSUserNameCacheDelete(TSCont contp, unsigned long ip);
-
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: trafficserver/traffic/trunk/proxy/api/ts/ts.h.in
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/api/ts/ts.h.in?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/api/ts/ts.h.in (original)
+++ trafficserver/traffic/trunk/proxy/api/ts/ts.h.in Fri Nov 19 04:35:53 2010
@@ -1933,6 +1933,7 @@ extern "C"
HTTP sessions */
tsapi TSReturnCode TSHttpSsnHookAdd(TSHttpSsn ssnp, TSHttpHookID id, TSCont contp);
tsapi TSReturnCode TSHttpSsnReenable(TSHttpSsn ssnp, TSEvent event);
+ tsapi TSReturnCode TSHttpSsnTransactionCount(TSHttpSsn ssnp, int* count);
/* --------------------------------------------------------------------------
HTTP transactions */
@@ -2022,9 +2023,21 @@ extern "C"
tsapi TSReturnCode TSHttpTxnReenable(TSHttpTxn txnp, TSEvent event);
tsapi TSReturnCode TSHttpCacheReenable(TSCacheTxn txnp, const TSEvent event, const void *data, const uint64 size);
tsapi TSReturnCode TSHttpTxnFollowRedirect(TSHttpTxn txnp, int on);
- tsapi int TSHttpTxnGetMaxArgCnt(void);
- tsapi TSReturnCode TSHttpTxnSetArg(TSHttpTxn txnp, int arg_idx, void *arg);
- tsapi TSReturnCode TSHttpTxnGetArg(TSHttpTxn txnp, int arg_idx, void **arg);
+
+ tsapi TSReturnCode TSHttpTxnArgSet(TSHttpTxn txnp, int arg_idx, void *arg);
+ tsapi TSReturnCode TSHttpTxnArgGet(TSHttpTxn txnp, int arg_idx, void **arg);
+ tsapi TSReturnCode TSHttpSsnArgSet(TSHttpSsn ssnp, int arg_idx, void *arg);
+ tsapi TSReturnCode TSHttpSsnArgGet(TSHttpSsn ssnp, int arg_idx, void **arg);
+
+ /* The reserve API should only be use in TSAPI plugins, during plugin initialization! */
+ /* The lookup methods can be used anytime, but are best used during initialization as well,
+ or at least "cache" the results for best performance. */
+ tsapi TSReturnCode TSHttpArgIndexReserve(const char* name, const char* description, int* arg_idx);
+ tsapi TSReturnCode TSHttpArgIndexNameLookup(const char* name, int* arg_idx, const char** description);
+ tsapi TSReturnCode TSHttpArgIndexLookup(int arg_idx, const char** name, const char** description);
+
+ /** @deprecated */
+ tsapi TS_DEPRECATED int TSHttpTxnMaxArgCntGet(void);
tsapi int TSHttpTxnGetMaxHttpRetBodySize(void);
tsapi TSReturnCode TSHttpTxnSetHttpRetBody(TSHttpTxn txnp, const char *body_msg, int plain_msg);
Modified: trafficserver/traffic/trunk/proxy/http2/HttpClientSession.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpClientSession.cc?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpClientSession.cc (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpClientSession.cc Fri Nov 19 04:35:53 2010
@@ -56,18 +56,17 @@ ink_mutex debug_cs_list_mutex;
static int64 next_cs_id = (int64) 0;
ClassAllocator<HttpClientSession> httpClientSessionAllocator("httpClientSessionAllocator");
-HttpClientSession::HttpClientSession():
-VConnection(NULL),
-client_trans_stat(0),
-con_id(0), client_vc(NULL), magic(HTTP_CS_MAGIC_DEAD),
-transact_count(0), half_close(false), conn_decrease(false), bound_ss(NULL),
-read_buffer(NULL), current_reader(NULL), read_state(HCS_INIT),
-ka_vio(NULL), slave_ka_vio(NULL),
-cur_hook_id(TS_HTTP_LAST_HOOK), cur_hook(NULL),
-cur_hooks(0), backdoor_connect(false), hooks_set(0),
-//session_based_auth(false), m_bAuthComplete(false), secCtx(NULL), m_active(false)
-session_based_auth(false), m_bAuthComplete(false), m_active(false)
+HttpClientSession::HttpClientSession()
+ : VConnection(NULL), con_id(0), client_vc(NULL), magic(HTTP_CS_MAGIC_DEAD),
+ transact_count(0), half_close(false), conn_decrease(false), bound_ss(NULL),
+ read_buffer(NULL), current_reader(NULL), read_state(HCS_INIT),
+ ka_vio(NULL), slave_ka_vio(NULL),
+ cur_hook_id(TS_HTTP_LAST_HOOK), cur_hook(NULL),
+ cur_hooks(0), backdoor_connect(false), hooks_set(0),
+ //session_based_auth(false), m_bAuthComplete(false), secCtx(NULL), m_active(false)
+ session_based_auth(false), m_bAuthComplete(false), m_active(false)
{
+ memset(user_args, 0, sizeof(user_args));
}
void
@@ -256,7 +255,6 @@ HttpClientSession::do_io_close(int alerr
if (read_state == HCS_ACTIVE_READER) {
HTTP_DECREMENT_DYN_STAT(http_current_client_transactions_stat);
- client_trans_stat--;
if (m_active) {
m_active = false;
HTTP_DECREMENT_DYN_STAT(http_current_active_client_connections_stat);
@@ -584,7 +582,6 @@ HttpClientSession::release(IOBufferReade
}
HTTP_DECREMENT_DYN_STAT(http_current_client_transactions_stat);
- client_trans_stat--;
// Check to see there is remaining data in the
// buffer. If there is, spin up a new state
Modified: trafficserver/traffic/trunk/proxy/http2/HttpClientSession.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpClientSession.h?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpClientSession.h (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpClientSession.h Fri Nov 19 04:35:53 2010
@@ -27,7 +27,6 @@
Description:
-
****************************************************************************/
#ifndef _HTTP_CLIENT_SESSION_H_
@@ -37,6 +36,7 @@
#include "P_Net.h"
#include "InkAPIInternal.h"
#include "HTTP.h"
+#include "HttpConfig.h"
extern ink_mutex debug_cs_list_mutex;
@@ -66,21 +66,12 @@ public:
virtual void do_io_shutdown(ShutdownHowTo_t howto);
virtual void reenable(VIO * vio);
- void set_half_close_flag()
- {
- half_close = true;
- };
+ void set_half_close_flag() { half_close = true; };
virtual void release(IOBufferReader * r);
- NetVConnection *get_netvc()
- {
- return client_vc;
- };
+ NetVConnection *get_netvc() const { return client_vc; };
virtual void attach_server_session(HttpServerSession * ssession, bool transaction_done = true);
- HttpServerSession *get_server_session()
- {
- return bound_ss;
- };
+ HttpServerSession *get_server_session() const { return bound_ss; };
// Used for the cache authenticated HTTP content feature
HttpServerSession *get_bound_ss();
@@ -92,12 +83,12 @@ public:
// Used to verify we are recording the current
// client transaction stat properly
- int client_trans_stat;
-#ifndef VxWorks
int64 con_id;
-#else
- int32 con_id;
-#endif
+
+ int get_transact_count() const { return transact_count; }
+
+ void* get_user_arg(int ix) const { return user_args[ix]; }
+ void set_user_arg(int ix, void* arg) { user_args[ix] = arg; }
private:
HttpClientSession(HttpClientSession &);
@@ -126,6 +117,7 @@ private:
int transact_count;
bool half_close;
bool conn_decrease;
+ void *user_args[HTTP_SSN_TXN_MAX_USER_ARG];
HttpServerSession *bound_ss;
Modified: trafficserver/traffic/trunk/proxy/http2/HttpConfig.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpConfig.h?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpConfig.h (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpConfig.h Fri Nov 19 04:35:53 2010
@@ -60,6 +60,12 @@
#include "P_RecProcess.h"
+
+/* Some defines that might be candidates for configurable settings later.
+ */
+#define HTTP_SSN_TXN_MAX_USER_ARG 16 /* max number of user arguments for Transactions and Sessions */
+
+
/* Instead of enumerating the stats in DynamicStats.h, each module needs
to enumerate its stats separately and register them with librecords
*/
Modified: trafficserver/traffic/trunk/proxy/http2/HttpSM.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpSM.cc?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpSM.cc (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpSM.cc Fri Nov 19 04:35:53 2010
@@ -645,7 +645,6 @@ HttpSM::attach_client_session(HttpClient
t_state.client_info.port_attribute = (HttpPortTypes) netvc->attributes;
HTTP_INCREMENT_DYN_STAT(http_current_client_transactions_stat);
- client_vc->client_trans_stat++;
// Record api hook set state
hooks_set = http_global_hooks->hooks_set | client_vc->hooks_set;
Modified: trafficserver/traffic/trunk/proxy/http2/HttpTransact.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpTransact.h?rev=1036737&r1=1036736&r2=1036737&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpTransact.h (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpTransact.h Fri Nov 19 04:35:53 2010
@@ -899,7 +899,6 @@ public:
} SquidLogInfo;
-#define HTTP_TRANSACT_STATE_MAX_USER_ARG 16 /* max number of user arguments inside HttpTransact::State structure */
#define HTTP_TRANSACT_STATE_MAX_XBUF_SIZE (1024*2) /* max size of plugin exchange buffer */
struct State
@@ -1010,7 +1009,7 @@ public:
int return_xbuf_size;
bool return_xbuf_plain;
char return_xbuf[HTTP_TRANSACT_STATE_MAX_XBUF_SIZE];
- void *user_args[HTTP_TRANSACT_STATE_MAX_USER_ARG];
+ void *user_args[HTTP_SSN_TXN_MAX_USER_ARG];
int api_txn_active_timeout_value;
int api_txn_connect_timeout_value;