1 
2 // vim:sw=2:ai
3 
4 /*
5  * Copyright (C) 2010 DeNA Co.,Ltd.. All rights reserved.
6  * See COPYRIGHT.txt for details.
7  */
8 
9 #ifndef DENA_HSTCPSVR_WORKER_HPP
10 #define DENA_HSTCPSVR_WORKER_HPP
11 
12 #include "hstcpsvr.hpp"
13 
14 namespace dena {
15 
16 struct hstcpsvr_worker_i;
17 typedef std::auto_ptr<hstcpsvr_worker_i> hstcpsvr_worker_ptr;
18 
19 struct hstcpsvr_worker_arg {
20   const hstcpsvr_shared_c *cshared;
21   volatile hstcpsvr_shared_v *vshared;
22   long worker_id;
hstcpsvr_worker_argdena::hstcpsvr_worker_arg23   hstcpsvr_worker_arg() : cshared(0), vshared(0), worker_id(0) { }
24 };
25 
26 struct hstcpsvr_worker_i {
~hstcpsvr_worker_idena::hstcpsvr_worker_i27   virtual ~hstcpsvr_worker_i() { }
28   virtual void run() = 0;
29   static hstcpsvr_worker_ptr create(const hstcpsvr_worker_arg& arg);
30 };
31 
32 };
33 
34 #endif
35 
36