mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-07-06 23:44:33 +02:00
reverted to official librouteros #9
This commit is contained in:
parent
25e90702d2
commit
3cf637d1ba
9 changed files with 31 additions and 621 deletions
|
@ -1,37 +0,0 @@
|
|||
# -*- coding: UTF-8 -*-
|
||||
|
||||
from .exceptions import ConnectionClosed
|
||||
|
||||
|
||||
class SocketTransport:
|
||||
|
||||
def __init__(self, sock):
|
||||
self.sock = sock
|
||||
|
||||
def write(self, data):
|
||||
"""
|
||||
Write given bytes to socket. Loop as long as every byte in
|
||||
string is written unless exception is raised.
|
||||
"""
|
||||
self.sock.sendall(data)
|
||||
|
||||
def read(self, length):
|
||||
"""
|
||||
Read as many bytes from socket as specified in length.
|
||||
Loop as long as every byte is read unless exception is raised.
|
||||
"""
|
||||
data = bytearray()
|
||||
while len(data) != length:
|
||||
tmp = None
|
||||
try:
|
||||
tmp = self.sock.recv((length - len(data)))
|
||||
except:
|
||||
raise ConnectionClosed('Socket recv failed.')
|
||||
|
||||
data += tmp
|
||||
if not data:
|
||||
raise ConnectionClosed('Connection unexpectedly closed.')
|
||||
return data
|
||||
|
||||
def close(self):
|
||||
self.sock.close()
|
Loading…
Add table
Add a link
Reference in a new issue