from time import time
from .config import readconfig
-from .GT06mod import handle_packet, make_response, LOGIN, set_config
+from .gps303proto import handle_packet, make_response, LOGIN, set_config
from .evstore import initdb, stow
+from .lookaside import prepare_response
CONF = "/etc/gps303.conf"
when = time()
if packet:
msg = handle_packet(packet, clntaddr, when)
- log.debug("%s from %s fd %d'", msg, clntaddr, fd)
+ log.debug("%s from %s fd %d", msg, clntaddr, fd)
if isinstance(msg, LOGIN):
imei = msg.imei
clnt_dict[fd] = (clntsock, clntaddr, imei)
- stow(clntaddr, when, imei, msg.proto, msg.payload)
- response = make_response(msg)
+ stow(
+ clntaddr,
+ when,
+ imei,
+ msg.length,
+ msg.proto,
+ msg.payload,
+ )
+ kwargs = prepare_response(conf, msg)
+ response = make_response(msg, **kwargs)
if response:
try:
# Ignore possibility of blocking
except OSError as e:
log.debug("sending to fd %d error %s", fd, e)
else:
+ # TODO: Also disconnect on HIBERNATION
log.info("disconnect fd %d imei %s", fd, imei)
pollset.unregister(fd)
clntsock.close()