async def create(self): established = self.loop.create_future() def connection_made(reader, writer): """ called when the connection was made """ self.reader = reader self.writer = writer established.set_result(True) try: (self.transport, self.protocol) = await self.loop.create_unix_connection( lambda: FalkSocketStreamProtocol(connection_made, self. connection_lost), self.path) except FileNotFoundError: raise FileNotFoundError("falk socket not found: " "'%s' missing" % self.path) from None except ConnectionRefusedError: raise FalkError("falk socket doesn't accept connections " f"at '{self.path}'") from None await established # send login message, for FalkSSH it was not necessary # because the falk.shell automatically provides the login. msg = Login(self.user, self.path) self.writer.write(msg.pack(self.proto_mode)) await self.writer.drain() # perform falk setup await self._init()
def __init__(self, job, path, user): super().__init__(job) self.path = path self.user = user self.linebuf = bytearray() # connect to falk unix socket. self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) try: self.sock.connect(self.path) except FileNotFoundError: raise FileNotFoundError( "falk socket not found: " "'%s' missing" % self.path) from None except ConnectionRefusedError: raise VMError("falk socket doesn't accept connections " "at '%s'" % (self.path)) from None # send login message msg = Login(self.user, self.path) self.sock.sendall(msg.pack(self.proto_mode)) self.init()
async def create(self): established = asyncio.Future() def connection_made(reader, writer): """ called when the connection was made """ self.reader = reader self.writer = writer established.set_result(True) loop = asyncio.get_event_loop() try: self.transport, self.protocol = await loop.create_unix_connection( lambda: asyncio.StreamReaderProtocol(asyncio.StreamReader(), connection_made), self.path ) except FileNotFoundError: raise FileNotFoundError("falk socket not found: " "'%s' missing" % self.path) from None except ConnectionRefusedError: raise VMError("falk socket doesn't accept connections " "at '%s'" % (self.path)) from None await established # send login message, for FalkSSH it was not necessary # because the falk.shell automatically provides the login. msg = Login(self.user, self.path) self.writer.write(msg.pack(self.proto_mode)) await self.writer.drain() # perform falk setup await self.init()
def __init__(self, job, path, user): super().__init__(job) self.path = path self.user = user self.linebuf = bytearray() # connect to falk unix socket. self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) try: self.sock.connect(self.path) except FileNotFoundError: raise FileNotFoundError( "falk socket not found: '%s' missing" % self.path)\ from None # send login message msg = Login(self.user, self.path) self.sock.sendall(msg.pack(self.proto_mode)) self.init()