OSDN Git Service

ソースツリー再構成中(ほぼOK?)
[ultramonkey-l7/ultramonkey-l7-v3.git] / l7vsd / thread_model_test / tcp_session_stream_model.h
1
2 #ifndef TCP_SESSION_STREAM_MODEL_H
3 #define TCP_SESSION_STREAM_MODEL_H
4
5 #include <boost/asio.hpp>
6 #include <boost/thread/mutex.hpp>
7
8 #include "wrlock.h"
9 #include "lockfree_queue.h"
10 #include "tcp_session_base.h"
11
12 namespace l7vs{
13         class tcp_session_stream_model : public tcp_session_base{
14                 public:
15                         tcp_session_stream_model(virtualservice_tcp* pService,boost::asio::io_service& io,boost::asio::ip::tcp::endpoint rs_endpoint);
16                         ~tcp_session_stream_model();
17
18                         void Run_main();
19                         void Run_sub();
20
21                         void Run_up();
22                         void Run_dw();
23
24                         wr_mutex        threadA_state_mutex;
25                         int             threadA_state;
26                         wr_mutex        threadB_state_mutex;
27                         int             threadB_state;
28
29                         bool exit_flag;
30                         wr_mutex exit_flag_update_mutex;
31                         wr_mutex cl_close_mutex;
32                         wr_mutex rs_close_mutex;
33         };
34 }
35
36 #endif//TCP_SESSION_STREAM_MODEL_H