MCPcopy Index your code
hub / github.com/rawpython/remi / send_message

Method send_message

remi/server.py:207–237  ·  view source on GitHub ↗
(self, message)

Source from the content-addressed store, hash-verified

205 return True
206
207 def send_message(self, message):
208 if not self.handshake_done:
209 self._log.warning("ignoring message %s (handshake not done)" % message[:10])
210 return False
211
212 if message[0] == "2":
213 i = 0
214
215 self._log.debug('send_message: %s... -> %s' % (message[:10], self.client_address))
216 out = bytearray()
217 out.append(129)
218 length = len(message)
219 if length <= 125:
220 out.append(length)
221 elif 126 <= length <= 65535:
222 out.append(126)
223 out += struct.pack('>H', length)
224 else:
225 out.append(127)
226 out += struct.pack('>Q', length)
227 if not pyLessThan3:
228 message = message.encode('utf-8')
229 out = out + message
230
231 readable, writable, errors = select.select([], [self.request,], [], self.server.websocket_timeout_timer_ms) #last parameter is timeout, when 0 is non blocking
232 #self._log.debug('socket status readable=%s writable=%s errors=%s'%((self.request in readable), (self.request in writable), (self.request in error$
233 writable = self.request in writable
234 if not writable:
235 return False
236 self.request.sendall(out)
237 return True
238
239 def handshake(self):
240 self._log.debug('handshake')

Callers 3

on_messageMethod · 0.95

Calls 3

selectMethod · 0.80
sendallMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected