OSDN Git Service

ログカテゴリの修正、未接続状態での処理を修正
authortasaki <tasaki@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 16 Feb 2009 01:29:44 +0000 (01:29 +0000)
committertasaki <tasaki@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 16 Feb 2009 01:29:44 +0000 (01:29 +0000)
git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-shamshel@6905 1ed66053-1c2d-0410-8867-f7571e6e31d3

src/snmpbridge.cpp
unit_tests/snmpbridge_test/snmpbridge_thread_test.cpp

index a9fbefa..964e384 100644 (file)
@@ -44,7 +44,7 @@
  * @return  int  0 is nomal end not 0 is abnomal end
  */
 int l7vs::snmpbridge::initialize(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "initialize", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "initialize", __FILE__, __LINE__ );
 
        int retval =  0;
        //cleate log level table
@@ -88,7 +88,7 @@ int l7vs::snmpbridge::initialize(){
  * @return
  */
 void l7vs::snmpbridge::finalize(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "finalize", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "finalize", __FILE__, __LINE__ );
 
        connection_state = false;
        snmp_acceptor.close();
@@ -106,7 +106,13 @@ void l7vs::snmpbridge::finalize(){
  * @return      int
  */
 int l7vs::snmpbridge::send_trap( const std::string& message ){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "send_trap", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "send_trap", __FILE__, __LINE__ );
+
+       if( connection_state == false ){
+               std::string msg( "snmpbridge is disconnect" );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
+               return -1;
+       }
 
        boost::mutex::scoped_lock lock( send_buffer_mutex );
 
@@ -118,7 +124,7 @@ int l7vs::snmpbridge::send_trap( const std::string& message ){
        if( !send_buffer ){
                //malloc error!
                std::string msg( "send buffer malloc error" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return -1;
        }
        struct l7ag_message_header* header        = (struct l7ag_message_header*) send_buffer;
@@ -162,7 +168,7 @@ int l7vs::snmpbridge::send_trap( const std::string& message ){
  * Reload config command to subagent
  */
 void l7vs::snmpbridge::reload_config(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "reload_config", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "reload_config", __FILE__, __LINE__ );
 
        boost::mutex::scoped_lock lock( send_buffer_mutex );
 
@@ -175,7 +181,7 @@ void l7vs::snmpbridge::reload_config(){
        if( !send_buffer ){
                //malloc error!
                std::string msg( "send buffer malloc error" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return;
        }
        struct l7ag_message_header* header             = (struct l7ag_message_header*) send_buffer;
@@ -216,7 +222,7 @@ void l7vs::snmpbridge::reload_config(){
  * Set log level command to subagent
  */
 int l7vs::snmpbridge::change_loglevel( const l7vs::LOG_CATEGORY_TAG snmp_log_category, const l7vs::LOG_LEVEL_TAG loglevel ){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "change_loglevel", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "change_loglevel", __FILE__, __LINE__ );
 
        int retval = 0;
        if( snmp_param.loglevel.end() != snmp_param.loglevel.find( snmp_log_category ) ){
@@ -231,7 +237,7 @@ int l7vs::snmpbridge::change_loglevel( const l7vs::LOG_CATEGORY_TAG snmp_log_cat
                if( !send_buffer ){
                        //malloc error!
                        std::string msg( "send buffer malloc error" );
-                       Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+                       Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                        return -1;
                }
                struct l7ag_message_header* header             = (struct l7ag_message_header*) send_buffer;
@@ -281,7 +287,7 @@ int l7vs::snmpbridge::change_loglevel( const l7vs::LOG_CATEGORY_TAG snmp_log_cat
  * Set all log level command to subagent
  */
 int l7vs::snmpbridge::change_loglevel_allcategory( const l7vs::LOG_LEVEL_TAG loglevel ){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "change_loglevel_allcategory", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "change_loglevel_allcategory", __FILE__, __LINE__ );
 
        int retval = 0;
        std::vector<struct l7ag_settingcommand_message> settingcmd_vec;
@@ -305,7 +311,7 @@ int l7vs::snmpbridge::change_loglevel_allcategory( const l7vs::LOG_LEVEL_TAG log
        if( !send_buffer ){
                //malloc error!
                std::string msg( "send buffer malloc error" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return -1;
        }
        struct l7ag_message_header* header = (struct l7ag_message_header*) send_buffer;
@@ -357,7 +363,13 @@ int l7vs::snmpbridge::change_loglevel_allcategory( const l7vs::LOG_LEVEL_TAG log
  * Send all MIB data
  */
 int l7vs::snmpbridge::send_mibcollection(struct l7ag_mibrequest_message* payload){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "send_mibcollection", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "send_mibcollection", __FILE__, __LINE__ );
+
+       if( connection_state == false ){
+               std::string msg( "snmpbridge is disconnect" );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
+               return -1;
+       }
 
        int retval = 0;
        boost::mutex::scoped_lock lock( send_buffer_mutex );
@@ -397,7 +409,7 @@ int l7vs::snmpbridge::send_mibcollection(struct l7ag_mibrequest_message* payload
        if( !send_buffer ){
                //malloc error!
                std::string msg( "send buffer malloc error" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return -1;
        }
        struct l7ag_message_header* header = (struct l7ag_message_header*) send_buffer;
@@ -557,7 +569,7 @@ int l7vs::snmpbridge::send_mibcollection(struct l7ag_mibrequest_message* payload
  * Get connection status
  */
 bool l7vs::snmpbridge::get_connectionstate(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "get_connectionstate", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "get_connectionstate", __FILE__, __LINE__ );
        return connection_state;
 }
 
@@ -565,7 +577,7 @@ bool l7vs::snmpbridge::get_connectionstate(){
  * Get log level
  */
 l7vs::LOG_LEVEL_TAG l7vs::snmpbridge::get_loglevel( const l7vs::LOG_CATEGORY_TAG snmp_log_category ){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "get_loglevel", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "get_loglevel", __FILE__, __LINE__ );
 
        l7vs::LOG_LEVEL_TAG level = LOG_LV_NONE;
        if( snmp_param.loglevel.end() != snmp_param.loglevel.find( snmp_log_category ) ){
@@ -578,7 +590,7 @@ l7vs::LOG_LEVEL_TAG l7vs::snmpbridge::get_loglevel( const l7vs::LOG_CATEGORY_TAG
  * Get log level allcategory
  */
 void l7vs::snmpbridge::get_loglevel_allcategory( std::map<l7vs::LOG_CATEGORY_TAG, l7vs::LOG_LEVEL_TAG>&        loglevelmap ){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "get_loglevel_allcategory", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "get_loglevel_allcategory", __FILE__, __LINE__ );
 
        for( std::map<l7vs::LOG_CATEGORY_TAG,l7vs::LOG_LEVEL_TAG>::iterator it = snmp_param.loglevel.begin();
                it != snmp_param.loglevel.end(); ++it ){
@@ -591,7 +603,7 @@ void l7vs::snmpbridge::get_loglevel_allcategory( std::map<l7vs::LOG_CATEGORY_TAG
  *
  */
 void l7vs::snmpbridge::handle_accept(const boost::system::error_code& error){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "handle_accept", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "handle_accept", __FILE__, __LINE__ );
 
        connection_state = true;
        snmp_socket.async_receive( boost::asio::buffer( recv_buffer, READBUF_SIZE ), 
@@ -605,7 +617,7 @@ void l7vs::snmpbridge::handle_accept(const boost::system::error_code& error){
  *
  */
 void l7vs::snmpbridge::handle_receive(const boost::system::error_code& error, size_t bytes_transferred){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "handle_receive", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "handle_receive", __FILE__, __LINE__ );
 
        struct l7ag_message_header* message_header = NULL;
        struct l7ag_payload_header* payload_header = NULL;
@@ -618,7 +630,7 @@ void l7vs::snmpbridge::handle_receive(const boost::system::error_code& error, si
                                                                boost::asio::placeholders::bytes_transferred ) );
 
                std::string msg( "receive data is short" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return;
        }
        message_header = (struct l7ag_message_header*)recv_buffer.data();
@@ -630,7 +642,7 @@ void l7vs::snmpbridge::handle_receive(const boost::system::error_code& error, si
                                                                boost::asio::placeholders::bytes_transferred ) );
 
                std::string msg( "message header version error" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return;
        }
        if ( message_header->magic[0] != 0x4d || message_header->magic[1] != 0x47 ){
@@ -641,7 +653,7 @@ void l7vs::snmpbridge::handle_receive(const boost::system::error_code& error, si
                                                                boost::asio::placeholders::bytes_transferred ) );
 
                std::string msg( "message header magic number error" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return;
        }
        for ( unsigned long long i = 0; i < message_header->payload_count; ++i ) {
@@ -661,7 +673,7 @@ void l7vs::snmpbridge::handle_receive(const boost::system::error_code& error, si
                                                                boost::asio::placeholders::bytes_transferred ) );
 
                                std::string msg( "payload magic number error" );
-                               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, 1, msg, __FILE__, __LINE__ );
+                               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                                return;
                        }
                        send_mibcollection(payload);
@@ -679,7 +691,7 @@ void l7vs::snmpbridge::handle_receive(const boost::system::error_code& error, si
  *
  */
 void l7vs::snmpbridge::handle_send(const boost::system::error_code& error, size_t bytes_transferred){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "handle_send", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "handle_send", __FILE__, __LINE__ );
 
        snmp_socket.async_receive( boost::asio::buffer( recv_buffer, READBUF_SIZE ), 
                                                                boost::bind(&snmpbridge::handle_receive,
@@ -692,17 +704,17 @@ void l7vs::snmpbridge::handle_send(const boost::system::error_code& error, size_
  *
  */
 int l7vs::snmpbridge::send_message(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "send_message", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "send_message", __FILE__, __LINE__ );
 
        if( connection_state == false ){
                std::string msg( "snmpbridge is disconnect" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return -1;
        }
 
        if (send_buffer == NULL || send_buffer_size == 0){
                std::string msg( "send data is none" );
-               Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND, 1, msg, __FILE__, __LINE__ );
+               Logger::putLogError( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, msg, __FILE__, __LINE__ );
                return -1;
        }
        snmp_socket.async_send( boost::asio::buffer( send_buffer, send_buffer_size ), 
@@ -717,7 +729,7 @@ int l7vs::snmpbridge::send_message(){
  *
  */
 int l7vs::snmpbridge::load_config(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "load_config", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "load_config", __FILE__, __LINE__ );
 
        l7vs::Parameter param;
        l7vs::error_code err;
@@ -771,7 +783,7 @@ int l7vs::snmpbridge::load_config(){
 }
 
 void l7vs::snmpbridge::load_loglevel(){
-       Logger logger( l7vs::LOG_CAT_SNMPAGENT_START_STOP, 1, "load_loglevel", __FILE__, __LINE__ );
+       Logger logger( l7vs::LOG_CAT_L7VSD_SNMPBRIDGE, 1, "load_loglevel", __FILE__, __LINE__ );
 
        //log level 取得
        l7vs::Parameter param;
index bf6bfb9..4015484 100644 (file)
@@ -168,6 +168,7 @@ void        sendmibcollection( int id, struct l7ag_mibrequest_message* payload ){
 void   snmpbridge_test_thread1(){
        int ret = 0;
        ret = test.initialize();
+       test.set_connection_state(true);
 
        // unit_test[1] 複数スレッドからsend_trapを呼び出してもエラーが発生しないことを確認
 #if 1