mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2026-04-06 23:04:11 +00:00
Merge branch 'develop' into ping
This commit is contained in:
commit
1837ba46af
5 changed files with 71 additions and 86 deletions
14
bw_server.py
14
bw_server.py
|
|
@ -41,7 +41,7 @@ try:
|
|||
import time
|
||||
import sys
|
||||
import threading
|
||||
import threading
|
||||
import queue
|
||||
|
||||
logging.debug("Import BOSWatch modules")
|
||||
from boswatch.config import Config
|
||||
|
|
@ -123,7 +123,8 @@ try:
|
|||
# t2.start()
|
||||
# t3.start()
|
||||
|
||||
bwServer = TCPServer(bwConfig.getInt("Server", "PORT"))
|
||||
incomingQueue = queue.Queue()
|
||||
bwServer = TCPServer(incomingQueue)
|
||||
if bwServer.start():
|
||||
|
||||
while 1:
|
||||
|
|
@ -133,7 +134,7 @@ try:
|
|||
packetsOld = 0
|
||||
while serverPaused is True:
|
||||
time.sleep(0.2) # reduce cpu load (run all 200ms)
|
||||
packetsNew = bwServer.countPacketsInQueue()
|
||||
packetsNew = incomingQueue.qsize()
|
||||
if packetsNew is not packetsOld:
|
||||
logging.debug("%s packet(s) waiting in queue", packetsNew)
|
||||
packetsOld = packetsNew
|
||||
|
|
@ -143,13 +144,13 @@ try:
|
|||
logging.warning("Server stop flag received ...")
|
||||
break
|
||||
|
||||
if not bwServer.countPacketsInQueue(): # pause only when no data
|
||||
if incomingQueue.empty(): # pause only when no data
|
||||
time.sleep(0.1) # reduce cpu load (run all 100ms)
|
||||
|
||||
data = bwServer.getDataFromQueue()
|
||||
data = incomingQueue.get()
|
||||
if data is not None:
|
||||
logging.info("get data from %s (waited in queue %0.3f sec.)", data[0], time.time() - data[2])
|
||||
logging.debug("%s packet(s) waiting in queue", bwServer.countPacketsInQueue())
|
||||
logging.debug("%s packet(s) waiting in queue", incomingQueue.qsize())
|
||||
bwPacket = Packet((data[1]))
|
||||
|
||||
if not bwDoubleFilter.filter(bwPacket):
|
||||
|
|
@ -163,6 +164,7 @@ try:
|
|||
|
||||
bwPluginManager.runAllPlugins(bwPacket)
|
||||
# print(bwPacket.get("clientVersion")["major"])
|
||||
incomingQueue.task_done()
|
||||
|
||||
except KeyboardInterrupt: # pragma: no cover
|
||||
logging.warning("Keyboard interrupt")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue