MCPcopy Create free account
hub / github.com/blacklanternsecurity/bbot / new_socket

Method new_socket

bbot/core/engine.py:312–329  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

310
311 @asynccontextmanager
312 async def new_socket(self):
313 if self._server_process is None:
314 self._server_process = self.start_server()
315 while not self.socket_path.exists():
316 self.engine_debug(f"{self.name}: waiting for server process to start...")
317 await asyncio.sleep(0.1)
318 socket = self.context.socket(zmq.DEALER)
319 socket.setsockopt(zmq.LINGER, 0) # Discard pending messages immediately disconnect() or close()
320 socket.setsockopt(zmq.SNDHWM, 0) # Unlimited send buffer
321 socket.setsockopt(zmq.RCVHWM, 0) # Unlimited receive buffer
322 socket.connect(f"ipc://{self.socket_path}")
323 self.sockets.add(socket)
324 try:
325 yield socket
326 finally:
327 self.sockets.remove(socket)
328 with suppress(Exception):
329 socket.close()
330
331 async def shutdown(self):
332 if not self._shutdown_status:

Callers 3

run_and_returnMethod · 0.95
run_and_yieldMethod · 0.95
send_shutdown_messageMethod · 0.95

Calls 5

start_serverMethod · 0.95
engine_debugMethod · 0.80
addMethod · 0.45
removeMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected