20
20
GNU General Public License for more details.
21
21
22
22
You should have received a copy of the GNU General Public License
23
- along with tserver module. If not, see <http://www.gnu.org/licenses/>."""
23
+ along with tserver module. If not, see <http://www.gnu.org/licenses/>."""
24
24
__version__ = "1.0.2"
25
25
26
26
import jsocket .jsocket_base as jsocket_base
@@ -42,8 +42,8 @@ def _process_message(self, obj):
42
42
43
43
This method is called every time a JSON object is received from a client
44
44
45
- @param obj JSON "key: value" object received from client
46
- @retval None
45
+ @param obj JSON "key: value" object received from client
46
+ @retval None or a response object
47
47
"""
48
48
pass
49
49
@@ -61,7 +61,10 @@ def run(self):
61
61
while self ._isAlive :
62
62
try :
63
63
obj = self .read_obj ()
64
- self ._process_message (obj )
64
+ resp_obj = self ._process_message (obj )
65
+ if resp_obj is not None :
66
+ logger .debug ("message has a response" )
67
+ self .send_obj (resp_obj )
65
68
except socket .timeout as e :
66
69
logger .debug ("socket.timeout: %s" % e )
67
70
continue
@@ -100,20 +103,23 @@ def swap_socket(self, new_sock):
100
103
""" Swaps the existing socket with a new one. Useful for setting socket after a new connection.
101
104
102
105
@param new_sock socket to replace the existing default jsocket.JsonSocket object
103
- @retval None
106
+ @retval None
104
107
"""
105
108
del self .socket
106
109
self .socket = new_sock
107
110
self .conn = self .socket
108
111
109
112
def run (self ):
110
113
""" Should exit when client closes socket conn.
111
- Can force an exit with force_stop.
114
+ Can force an exit with force_stop.
112
115
"""
113
116
while self ._isAlive :
114
117
try :
115
118
obj = self .read_obj ()
116
- self ._process_message (obj )
119
+ resp_obj = self ._process_message (obj )
120
+ if resp_obj is not None :
121
+ logger .debug ("message has a response" )
122
+ self .send_obj (resp_obj )
117
123
except socket .timeout as e :
118
124
logger .debug ("socket.timeout: %s" % e )
119
125
continue
@@ -136,7 +142,7 @@ def start(self):
136
142
137
143
def force_stop (self ):
138
144
""" Force stops the factory thread.
139
- Should exit when client socket is closed under normal conditions.
145
+ Should exit when client socket is closed under normal conditions.
140
146
The life of the dead is in the memory of the living.
141
147
142
148
@retval None
0 commit comments