OSDN Git Service

接続数、切断数をelement内に移動
authorfujita <fujita@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Thu, 5 Feb 2009 08:22:04 +0000 (08:22 +0000)
committerfujita <fujita@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Thu, 5 Feb 2009 08:22:04 +0000 (08:22 +0000)
git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-shamshel@6641 1ed66053-1c2d-0410-8867-f7571e6e31d3

include/realserver.h
include/realserver_element.h

index d4f57dd..30ca1d8 100644 (file)
@@ -21,20 +21,16 @@ class       realserver : public realserver_element{
 public:
        typedef boost::shared_ptr<boost::mutex>         mutex_ptr;
 protected:
-       int                                     nactive;
-       int                                     ninact;
        mutex_ptr                       active_mutex_ptr;
        mutex_ptr                       inact_mutex_ptr;
 public:
        unsigned long long      send_byte;
 
-       realserver() : nactive(0), ninact(0), send_byte(0LL){
+       realserver() : send_byte(0LL){
                active_mutex_ptr = mutex_ptr( new boost::mutex );
                inact_mutex_ptr = mutex_ptr( new boost::mutex );
        }
        realserver( const realserver& in ) : realserver_element( in ),
-                                                                                nactive( in.nactive ),
-                                                                                ninact( in.ninact ),
                                                                                 send_byte( in.send_byte ){
                active_mutex_ptr = mutex_ptr( new boost::mutex );
                inact_mutex_ptr = mutex_ptr( new boost::mutex );
@@ -42,8 +38,6 @@ public:
 
        realserver& operator=( const realserver& rs ){
                realserver_element::operator= (rs);
-               nactive = rs.nactive;
-               ninact = rs.ninact;
                send_byte = rs.send_byte;
                return *this;
        }
@@ -99,14 +93,6 @@ public:
                        ninact = 0;
                }
        }
-
-       int             get_active(){
-               return nactive;
-       }
-
-       int             get_inact(){
-               return ninact;
-       }
 };
 
 
index b3f9234..4f4e9eb 100644 (file)
 namespace l7vs{
 
 class  realserver_element{
+protected:
+       int                                                             nactive;
+       int                                                             ninact;
 public:
        boost::asio::ip::tcp::endpoint  tcp_endpoint;
        boost::asio::ip::udp::endpoint  udp_endpoint;
        int                                                             weight;
-       realserver_element() : weight(-1){}
-       realserver_element( const realserver_element& in ) : tcp_endpoint( in.tcp_endpoint ) ,
-                                                                                                                        udp_endpoint( in.udp_endpoint ) ,
-                                                                                                                        weight( in.weight ){}
+       realserver_element() : nactive(0), ninact(0), weight(-1){}
+       realserver_element( const realserver_element& in ) :    nactive( in.nactive ), ninact( in.ninact ),
+                                                                                                                       tcp_endpoint( in.tcp_endpoint ) ,
+                                                                                                                       udp_endpoint( in.udp_endpoint ) ,
+                                                                                                                       weight( in.weight ){}
        realserver_element& operator=( const realserver_element& elem ){
+               nactive = elem.nactive;
+               ninact = elem.ninact;
                tcp_endpoint = elem.tcp_endpoint;
                udp_endpoint = elem.udp_endpoint;
                weight = elem.weight;
@@ -51,6 +57,14 @@ public:
                return rselem1.weight < rselem2.weight;
        }
 
+       int             get_active(){
+               return nactive;
+       }
+
+       int             get_inact(){
+               return ninact;
+       }
+
 private:
        friend class    boost::serialization::access;           //! friend boost serializable class
        //! serializable
@@ -58,6 +72,8 @@ private:
        //! @param[in]  archive
        //! @param[in]  version
        template <class Archive > void serialize( Archive& ar, const unsigned int version ){
+               ar & nactive;
+               ar & ninact;
                ar & tcp_endpoint;
                ar & udp_endpoint;
                ar & weight;