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;