Commits

Martin Gergov committed f3f4de7

Started implementing new interface.
Server seems to be reading as expected. Disconnect and write are next.

Comments (0)

Files changed (4)

-2013-02-12 18:40:14+0200 [-] Log opened.
-2013-02-12 18:40:14+0200 [-] 1
-2013-02-12 18:40:14+0200 [-] ADDING:798006189 with flags:1
-2013-02-12 18:40:14+0200 [-] Starting protocol <__main__.UDTClient instance at 0x1a8c200>
-2013-02-12 18:40:14+0200 [-] ADDING:798006188 with flags:1
-2013-02-12 18:40:14+0200 [-] Starting protocol <__main__.UDTClient instance at 0x1e4eef0>
-2013-02-12 18:40:14+0200 [-] ADDING:8 with flags:1
-2013-02-12 18:40:15+0200 [UDTClient,client] Received '?>!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received '?>!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:15+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:16+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:17+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:18+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!1'
-2013-02-12 18:40:19+0200 [UDTClient,client] Received 'bomb!!!0'
-2013-02-12 18:40:19+0200 [UDTClient,client] REMOVING:798006189 with flags:1
-2013-02-12 18:40:19+0200 [UDTClient,client] Unhandled Error
-	Traceback (most recent call last):
-	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/base.py", line 1173, in run
-	    self.mainLoop()
-	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/base.py", line 1185, in mainLoop
-	    self.doIteration(t)
-	  File "/usr/local/lib/python2.7/dist-packages/udt4twisted/udtepollreactor.py", line 293, in doPoll
-	    self._handleUDTReadSocketSet(uread, self._POLL_IN)
-	  File "/usr/local/lib/python2.7/dist-packages/udt4twisted/udtepollreactor.py", line 256, in _handleUDTReadSocketSet
-	    event)
-	--- <exception caught here> ---
-	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
-	    return callWithContext({"system": lp}, func, *args, **kw)
-	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
-	    return context.call({ILogContext: newCtx}, func, *args, **kw)
-	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
-	    return self.currentContext().callWithContext(ctx, func, *args, **kw)
-	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
-	    return func(*args,**kw)
-	  File "/usr/local/lib/python2.7/dist-packages/udt4twisted/udtepollreactor.py", line 338, in _doReadOrWrite
-	    del self._udtsockets[fd]
-	exceptions.KeyError: <UDTSOCKET object at 0x1feca08>
-	
-2013-02-12 18:40:19+0200 [-] (UDP Port None Closed)
-2013-02-12 18:40:19+0200 [-] Stopping protocol <__main__.UDTClient instance at 0x1a8c200>
+2013-02-14 16:44:45+0200 [-] Log opened.
+2013-02-14 16:44:45+0200 [-] ADDING:6 with flags:1
+2013-02-14 16:44:45+0200 [-] Hello!
+2013-02-14 16:44:45+0200 [-] EchoFactory starting on 5000
+2013-02-14 16:44:45+0200 [-] Starting factory <__main__.EchoFactory instance at 0x16bd098>
+2013-02-14 16:44:45+0200 [-] ADDING:569511510 with flags:1
+2013-02-14 16:44:45+0200 [-] <<class 'udt4twisted.udt.Port'> of __main__.EchoFactory on 5000>
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] ACCEPT FD:<udt4.pyudt.UdtSocket object at 0x16d8c10> ADDR:('127.0.0.1', 62931)
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] ADDING:569511509 with flags:1
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] CONN MADE!
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] MODIFY:569511509 with flags:5
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] ACCEPT FD:<udt4.pyudt.UdtSocket object at 0x16d8e10> ADDR:('127.0.0.1', 3727)
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] ADDING:569511508 with flags:1
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] CONN MADE!
+2013-02-14 16:44:48+0200 [__main__.EchoFactory] MODIFY:569511508 with flags:5

examples/newserver.py

+import sys
+sys.path.append("../")
+
+from udt4twisted import udtepollreactor
+udtepollreactor.install()
+
+from twisted.python import log
+from twisted.internet import reactor, defer
+from twisted.internet.protocol import DatagramProtocol, Protocol, Factory
+from twisted.python import log
+from udt4twisted import udt
+log.startLogging(sys.stdout)
+
+class Echo(Protocol):
+    def connectionMade(self):
+        print "CONN MADE!"
+        self.transport.write("An apple a day keeps the doctor away\r\n")
+
+    def dataReceived(self, data):
+        log.msg("received {0} from {1}".format(data, self.transport.getPeer()))
+        print "?", self.transport.write(data)
+
+    def connectionLost(self, reason):
+        print "CONN LOST!"
+
+class EchoFactory(Factory):
+    def buildProtocol(self, addr):
+        return Echo()
+
+
+
+class Tester(object):
+    port = None
+    def listen_to_udt_port(self, res):
+        self.echo = EchoFactory()
+        self.port = reactor.tlistenUDT(5000, self.echo)
+        print self.port
+
+    def print_hello(self, res):
+        print "Hello!"
+        return "hello"
+
+
+    def bye(self):
+        print self.port
+        self.port.stopListening()
+        reactor.stop()
+        print "Bye!"
+
+d = defer.Deferred()
+test = Tester()
+
+d.addCallback(test.print_hello)
+d.addCallback(test.listen_to_udt_port)
+
+reactor.callLater(0.3, d.callback, 1)
+reactor.callLater(100, test.bye)
+reactor.run()

udt4twisted/udt.py

 from zope.interface import implementer
 from twisted.internet import fdesc
 from twisted.internet import base, defer, address, udp, tcp
-from twisted.python import log, failure
-from twisted.internet import abstract, error, interfaces
+from twisted.python import log, failure, _reflectpy3 as reflect
+from twisted.python.runtime import platformType
+from twisted.internet import abstract, error, interfaces, main
 import udt4 as udt
 from   udt4 import pyudt
 from udt4 import EASYNCRCV, ECONNLOST
 from socket import AI_PASSIVE
 from errno import EWOULDBLOCK, EINTR, EMSGSIZE, ECONNREFUSED, EAGAIN
+from twisted.python.compat import lazyByteSlice
 import gc
 _sockErrReadIgnore = [EAGAIN, EINTR, EWOULDBLOCK]
 _sockErrReadRefuse = [ECONNREFUSED]
 @implementer(
     interfaces.IListeningPort, interfaces.IUDPTransport,
     interfaces.ISystemHandle)
-class Port(udp.Port):
+class Port2(udp.Port):
     """
     UDT port, listening for packets.
     """
 
 
 
-class Connector(Port):
+class Connector2(Port2):
 
     def doConnect(self, fd=None):
         if not fd:
             if (why[0] == ECONNLOST):
                 self.stopListening()
         return why
+
+
+@implementer(interfaces.ITCPTransport, interfaces.ISystemHandle)
+class Connection(abstract.FileDescriptor, tcp._AbortingMixin):
+    """
+    Superclass of all socket-based FileDescriptors.
+
+    This is an abstract superclass of all objects which represent a TCP/IP
+    connection based socket.
+
+    @ivar logstr: prefix used when logging events related to this connection.
+    @type logstr: C{str}
+    """
+    def _closeSocket(self, orderly):
+        try:
+            self.socket.close()
+        except UDTException as ue:
+            pass
+
+    def __init__(self, skt, protocol, reactor=None):
+        abstract.FileDescriptor.__init__(self, reactor=reactor)
+        self.socket = skt
+        self.socket.setblocking(False)
+        self.fileno = skt.fileno
+        self.protocol = protocol
+
+    def getHandle(self):
+        """Return the socket for this connection."""
+        return self.socket
+
+    def doRead(self):
+        """
+        Calls self.protocol.dataReceived with all available data.
+        This reads up to self.bufferSize bytes of data from its socket, then
+        calls self.dataReceived(data) to process it.  If the connection is not
+        lost through an error in the physical recvmsg(),
+        this function will return the result of the dataReceived call.
+        """
+        try:
+            #print "recv from:", fd, " size:", self.maxPacketSize
+            data = udt.recvmsg(self.socket.UDTSOCKET, self.bufferSize)
+        except udt.UDTException as ue:
+            if ue[0] == EASYNCRCV:
+                return ue
+            else:
+                return main.CONNECTION_LOST
+        else:
+            return self.protocol.dataReceived(data)
+
+
+    def _dataReceived(self, data):
+        if not data:
+            return main.CONNECTION_DONE
+        rval = self.protocol.dataReceived(data)
+        if rval is not None:
+            offender = self.protocol.dataReceived
+            warningFormat = (
+                'Returning a value other than None from %(fqpn)s is '
+                'deprecated since %(version)s.')
+            warningString = deprecate.getDeprecationWarningString(
+                offender, versions.Version('Twisted', 11, 0, 0),
+                format=warningFormat)
+            deprecate.warnAboutFunction(offender, warningString)
+        return rval
+
+
+    def write(self, data, ttl=-1, inorder=True):
+        """
+        Write given data to this UDT connection.
+        """
+        try:
+            udt.sendmsg(self.socket.UDTSOCKET, data, len(data), ttl, inorder)
+        except udt.UDTException as ue:
+            if ue[0] == EASYNCRCV:
+                return 0
+            elif ue[0] == ECONNLOST:
+                return main.CONNECTION_LOST
+
+    def _closeWriteConnection(self):
+        try:
+            getattr(self.socket, self._socketShutdownMethod)(1)
+        except socket.error:
+            pass
+        p = interfaces.IHalfCloseableProtocol(self.protocol, None)
+        if p:
+            try:
+                p.writeConnectionLost()
+            except:
+                f = failure.Failure()
+                log.err()
+                self.connectionLost(f)
+
+
+    def readConnectionLost(self, reason):
+        raise NotImplementedError()
+        p = interfaces.IHalfCloseableProtocol(self.protocol, None)
+        if p:
+            try:
+                p.readConnectionLost()
+            except:
+                log.err()
+                self.connectionLost(failure.Failure())
+        else:
+            self.connectionLost(reason)
+
+
+
+    def connectionLost(self, reason):
+        """See abstract.FileDescriptor.connectionLost().
+        """
+        # Make sure we're not called twice, which can happen e.g. if
+        # abortConnection() is called from protocol's dataReceived and then
+        # code immediately after throws an exception that reaches the
+        # reactor. We can't rely on "disconnected" attribute for this check
+        # since twisted.internet._oldtls does evil things to it:
+        if not hasattr(self, "socket"):
+            return
+        abstract.FileDescriptor.connectionLost(self, reason)
+        self._closeSocket(not reason.check(error.ConnectionAborted))
+        protocol = self.protocol
+        del self.protocol
+        del self.socket
+        del self.fileno
+        protocol.connectionLost(reason)
+
+
+    logstr = "Uninitialized"
+
+    def logPrefix(self):
+        """Return the prefix to log with when I own the logging thread.
+        """
+        return self.logstr
+
+class Server(Connection):
+    """
+    Serverside socket-stream connection class.
+
+    This is a serverside network connection transport; a socket which came from
+    an accept() on a server.
+    """
+    _base = Connection
+
+    _addressType = address.IPv4Address
+
+    def __init__(self, sock, protocol, client, server, sessionno, reactor):
+        """
+        Server(sock, protocol, client, server, sessionno)
+        Initialize it with a socket, a protocol, a descriptor for my peer (a
+        tuple of host, port describing the other end of the connection), an
+        instance of Port, and a session number.
+        """
+        Connection.__init__(self, sock, protocol, reactor)
+        self.server = server
+        self.client = client
+        self.sessionno = sessionno
+        self.hostname = client[0]
+
+        logPrefix = self._getLogPrefix(self.protocol)
+        self.logstr = "%s,%s,%s" % (logPrefix,
+                                    sessionno,
+                                    self.hostname)
+        if self.server is not None:
+            self.repstr = "<%s #%s on %s>" % (self.protocol.__class__.__name__,
+                                              self.sessionno,
+                                              self.server._realPortNumber)
+        self.startReading()
+        self.connected = 1
+
+    def __repr__(self):
+        """
+        A string representation of this connection.
+        """
+        return self.repstr
+
+
+    @classmethod
+    def _fromConnectedSocket(cls, fileDescriptor, addressFamily, factory,
+                             reactor):
+        """
+        Create a new L{Server} based on an existing connected I{SOCK_STREAM}
+        socket.
+
+        Arguments are the same as to L{Server.__init__}, except where noted.
+
+        @param fileDescriptor: An integer file descriptor associated with a
+            connected socket.  The socket must be in non-blocking mode.  Any
+            additional attributes desired, such as I{FD_CLOEXEC}, must also be
+            set already.
+
+        @param addressFamily: The address family (sometimes called I{domain})
+            of the existing socket.  For example, L{socket.AF_INET}.
+
+        @return: A new instance of C{cls} wrapping the socket given by
+            C{fileDescriptor}.
+        """
+        raise NotImplementedError()
+        addressType = address.IPv4Address
+        if addressFamily == socket.AF_INET6:
+            addressType = address.IPv6Address
+        skt = socket.fromfd(fileDescriptor, addressFamily, socket.SOCK_STREAM)
+        addr = skt.getpeername()
+        protocolAddr = addressType('TCP', addr[0], addr[1])
+        localPort = skt.getsockname()[1]
+
+        protocol = factory.buildProtocol(protocolAddr)
+        if protocol is None:
+            skt.close()
+            return
+
+        self = cls(skt, protocol, addr, None, addr[1], reactor)
+        self.repstr = "<%s #%s on %s>" % (
+            self.protocol.__class__.__name__, self.sessionno, localPort)
+        protocol.makeConnection(self)
+        return self
+
+
+    def getHost(self):
+        """
+        Returns an L{IPv4Address} or L{IPv6Address}.
+
+        This indicates the server's address.
+        """
+        host, port = self.socket.getsockname()[:2]
+        return self._addressType('UDP', host, port)
+
+
+    def getPeer(self):
+        """
+        Returns an L{IPv4Address} or L{IPv6Address}.
+
+        This indicates the client's address.
+        """
+        return self._addressType('UDP', *self.client[:2])
+
+@implementer(interfaces.IListeningPort)
+class Port(base.BasePort):
+    """
+    A UDT server port, listening for connections.
+
+    When a connection is accepted, this will call a factory's buildProtocol
+    with the incoming address as an argument, according to the specification
+    described in L{twisted.internet.interfaces.IProtocolFactory}.
+
+    If you wish to change the sort of transport that will be used, the
+    C{transport} attribute will be called with the signature expected for
+    C{Server.__init__}, so it can be replaced.
+
+    @ivar deferred: a deferred created when L{stopListening} is called, and
+        that will fire when connection is lost. This is not to be used it
+        directly: prefer the deferred returned by L{stopListening} instead.
+    @type deferred: L{defer.Deferred}
+
+    @ivar disconnecting: flag indicating that the L{stopListening} method has
+        been called and that no connections should be accepted anymore.
+    @type disconnecting: C{bool}
+
+    @ivar connected: flag set once the listen has successfully been called on
+        the socket.
+    @type connected: C{bool}
+
+    @ivar _preexistingSocket: If not C{None}, a L{socket.socket} instance which
+        was created and initialized outside of the reactor and will be used to
+        listen for connections (instead of a new socket being created by this
+        L{Port}).
+    """
+
+    socketType = socket.SOCK_DGRAM
+    transport = Server
+
+    sessionno = 0
+    interface = ''
+    backlog = 50
+
+    _type = 'UDT'
+
+    # Actual port number being listened on, only set to a non-None
+    # value when we are actually listening.
+    _realPortNumber = None
+
+    # An externally initialized socket that we will use, rather than creating
+    # our own.
+    #TODO: this will not be supported soon
+    _preexistingSocket = None
+
+    addressFamily = socket.AF_INET
+    _addressType = address.IPv4Address
+
+    def __init__(self,
+                 port,
+                 factory,
+                 interface='localhost',
+                 maxPacketSize=8192,
+                 reactor=None,
+                 backlog=50,
+                 ):
+        """
+        Initialize with a numeric port to listen on.
+        """
+        base.BasePort.__init__(self, reactor=reactor)
+        self.port = port
+        self.factory = factory
+        self.backlog = backlog
+        if interface == '':
+            self.interface = "127.0.0.1"
+        else:
+            self.interface = socket.gethostbyname_ex(interface)[2][0]
+        self._connectedAddr = None
+        self.addresses = {}
+
+    @classmethod
+    def _fromListeningDescriptor(cls, reactor, fd, addressFamily, factory):
+        """
+        Create a new L{Port} based on an existing listening I{SOCK_DGRAM}
+        socket.
+
+        Arguments are the same as to L{Port.__init__}, except where noted.
+
+        @param fd: An integer file descriptor associated with a listening
+            socket.  The socket must be in non-blocking mode.  Any additional
+            attributes desired, such as I{FD_CLOEXEC}, must also be set already.
+
+        @param addressFamily: The address family (sometimes called I{domain}) of
+            the existing socket.  For example, L{socket.AF_INET}.
+
+        @return: A new instance of C{cls} wrapping the socket given by C{fd}.
+        """
+        port = socket.fromfd(fd, addressFamily, cls.socketType)
+        interface = port.getsockname()[0]
+        self = cls(None, factory, None, interface, reactor)
+        self._preexistingSocket = port
+        return self
+
+
+    def __repr__(self):
+        if self._realPortNumber is not None:
+            return "<%s of %s on %s>" % (self.__class__,
+                self.factory.__class__, self._realPortNumber)
+        else:
+            return "<%s of %s (not listening)>" % (self.__class__, self.factory.__class__)
+
+    def createInternetSocket(self):
+        s = pyudt.UdtSocket(self.addressFamily,
+                            self.socketType,
+                            AI_PASSIVE)
+        s.setblocking(False)
+        return s
+
+    def _bindSocket(self):
+        """
+        Bind socket to an address.
+        """
+        try:
+            skt = self.createInternetSocket()
+            skt.bind((self.interface, self.port))
+        except socket.error as le:
+            raise error.CannotListenError(self.interface, self.port, le)
+
+        # Make sure that if we listened on port 0, we update that to
+        # reflect what the OS actually assigned us.
+        self._realPortNumber = skt.getsockname()[1]
+        self.connected = 1
+        self.socket = skt
+        self.fileno = skt.fileno
+
+
+    def startListening(self):
+        """Create and bind my socket, and begin listening on it.
+
+        This is called on unserialization, and must be called after creating a
+        server to begin listening on the specified port.
+        """
+
+
+        if self._preexistingSocket is None:
+            # Create a new socket and make it listen
+            self._bindSocket()
+            #udp.Port.startListening(self)
+            self.socket.listen(self.backlog)
+        else:
+            raise NotImplementedError()
+        # Make sure that if we listened on port 0, we update that to
+        # reflect what the OS actually assigned us.
+
+        log.msg("%s starting on %s" % (
+                self._getLogPrefix(self.factory), self._realPortNumber))
+
+        # The order of the next 5 lines is kind of bizarre.  If no one
+        # can explain it, perhaps we should re-arrange them.
+        self.factory.doStart()
+        self.numberAccepts = 100
+        self.startReading()
+
+
+    def _buildAddr(self, address):
+        host, port = address[:2]
+        return self._addressType('UDP', host, port)
+
+
+    def doRead(self):
+        """Called when my socket is ready for reading.
+        This accepts a connection and calls self.protocol() to handle the
+        wire-level protocol.
+        """
+        try:
+            if platformType == "posix":
+                numAccepts = self.numberAccepts
+            else:
+                # win32 event loop breaks if we do more than one accept()
+                # in an iteration of the event loop.
+                numAccepts = 1
+            for i in range(numAccepts):
+                # we need this so we can deal with a factory's buildProtocol
+                # calling our loseConnection
+                if self.disconnecting:
+                    return
+                try:
+                    skt, addr = self.socket.accept()
+                    log.msg("ACCEPT FD:{0} ADDR:{1}".format(skt,
+                                                            addr))
+                except udt.UDTException as (enum, message):
+                    if enum == EASYNCRCV:
+                        self.numberAccepts = i
+                        break
+                    else:
+                        log.msg("Could not accept new connection (%s)" % (
+                            errorcode[e.args[0]],))
+                        break
+                    raise
+                #FIXME
+                #fdesc._setCloseOnExec(skt.fileno())
+                protocol = self.factory.buildProtocol(self._buildAddr(addr))
+                if protocol is None:
+                    skt.close()
+                    continue
+                s = self.sessionno
+                self.sessionno = s+1
+                transport = self.transport(skt,
+                                           protocol,
+                                           addr, self, s, self.reactor)
+                protocol.makeConnection(transport)
+            else:
+                self.numberAccepts = self.numberAccepts+20
+        except:
+            # Note that in TLS mode, this will possibly catch SSL.Errors
+            # raised by self.socket.accept()
+            #
+            # There is no "except SSL.Error:" above because SSL may be
+            # None if there is no SSL support.  In any case, all the
+            # "except SSL.Error:" suite would probably do is log.deferr()
+            # and return, so handling it here works just as well.
+            log.deferr()
+
+    def loseConnection(self, connDone=failure.Failure(main.CONNECTION_DONE)):
+        """
+        Stop accepting connections on this port.
+
+        This will shut down the socket and call self.connectionLost().  It
+        returns a deferred which will fire successfully when the port is
+        actually closed, or with a failure if an error occurs shutting down.
+        """
+        self.disconnecting = True
+        self.stopReading()
+        if self.connected:
+            self.deferred = deferLater(
+                self.reactor, 0, self.connectionLost, connDone)
+            return self.deferred
+
+    stopListening = loseConnection
+
+    def _logConnectionLostMsg(self):
+        """
+        Log message for closing port
+        """
+        log.msg('(%s Port %s Closed)' % (self._type, self._realPortNumber))
+
+
+    def connectionLost(self, reason):
+        """
+        Cleans up the socket.
+        """
+        self._logConnectionLostMsg()
+        self._realPortNumber = None
+
+        base.BasePort.connectionLost(self, reason)
+        self.connected = False
+        self.socket.close()
+        del self.socket
+        del self.fileno
+
+        try:
+            self.factory.doStop()
+        finally:
+            self.disconnecting = False
+
+
+    def logPrefix(self):
+        """Returns the name of my class, to prefix log entries with.
+        """
+        return reflect.qual(self.factory.__class__)
+
+
+    def getHost(self):
+        """
+        Return an L{IPv4Address} or L{IPv6Address} indicating the listening
+        address of this port.
+        """
+        host, port = self.socket.getsockname()[:2]
+        return self._addressType('UDP', host, port)
+
+
+
+class Connector(base.BaseConnector):
+    """
+    A L{Connector} provides of L{twisted.internet.interfaces.IConnector} for
+    all POSIX-style reactors.
+
+    @ivar _addressType: the type returned by L{Connector.getDestination}.
+        Either L{IPv4Address} or L{IPv6Address}, depending on the type of
+        address.
+    @type _addressType: C{type}
+    """
+    _addressType = address.IPv4Address
+
+    def __init__(self, host, port, factory, timeout, bindAddress, reactor=None):
+        if isinstance(port, _portNameType):
+            try:
+                port = socket.getservbyname(port, 'tcp')
+            except socket.error as e:
+                raise error.ServiceNameUnknownError(string="%s (%r)" % (e, port))
+        self.host, self.port = host, port
+        if abstract.isIPv6Address(host):
+            self._addressType = address.IPv6Address
+        self.bindAddress = bindAddress
+        base.BaseConnector.__init__(self, factory, timeout, reactor)
+
+
+    def _makeTransport(self):
+        """
+        Create a L{Client} bound to this L{Connector}.
+
+        @return: a new L{Client}
+        @rtype: L{Client}
+        """
+        return Client(self.host, self.port, self.bindAddress, self, self.reactor)
+
+
+    def getDestination(self):
+        """
+        @see: L{twisted.internet.interfaces.IConnector.getDestination}.
+        """
+        return self._addressType('TCP', self.host, self.port)

udt4twisted/udtepollreactor.py

         posixbase.PosixReactorBase.__init__(self)
         self.addSystemEventTrigger("after", "shutdown", udt4.cleanup)
 
+    def _isUDT(self, xer):
+        """
+        Private method that, based on selectable instance, decides
+        if something is an udt socket
+        """
+        if isinstance(xer, udt.Port) or isinstance(xer, udt.Connection):
+            return True
+        else:
+            return False
 
     def _add(self, xer, primary, other, selectables, event, antievent):
         """
             if fd in other:
                 flags |= antievent
                 #FIXME for now remove and add again
-                if isinstance(xer, udt.Port):
+                if self._isUDT(xer):
                     self._poller.remove_usock(fd)
                     self._poller.add_usock(fd, flags)
                 else:
                 #self._poller.modify(fd, flags)
                 log.msg("MODIFY:{0} with flags:{1}".format(fd, flags))
             else:
-                if isinstance(xer, udt.Port):
-
+                if self._isUDT(xer):
                     self._poller.add_usock(fd, flags)
                 else:
                     self._poller.add_ssock(fd, flags)
                 #FIXME for now remove and add again
                 flags = antievent
                 # See comment above modify call in _add.
-                if isinstance(xer, udt.Port):
+                if self._isUDT(xer):
                     self._poller.remove_usock(fd)
                     self._poller.add_usock(fd, flags)
                 else:
                 log.msg("MODIFY:{0} with flags:{1}".format(fd, flags))
             else:
                 flags = event
-                if isinstance(xer, udt.Port):
+                if self._isUDT(xer):
                     del selectables[fd]
                 else:
                     del selectables[fd]
                 # See comment above _control call in _add.
-                if isinstance(xer, udt.Port):
+                if self._isUDT(xer):
                     self._poller.remove_usock(fd, flags)
                 else:
                     #FIXME Apparently flags are not parsed in this method
         for fd in set:
             try:
                 selectable = self._selectables[fd.UDTSOCKET]
-                socket, addr = accept(fd)
-                log.msg("ACCEPT FD:{0}SELECT:{1}".format(fd, selectable))
-                selectable.addresses[socket.UDTSOCKET] = (socket, addr)
-                self._udtsockets[socket.UDTSOCKET] = selectable
-                socket = UdtSocket(_sock=socket)
-                socket.setblocking(False)
-                self._poller.add_usock(socket.UDTSOCKET,
-                                       self._POLL_IN | self._POLL_DISCONNECTED)
+                # socket, addr = accept(fd)
+                # log.msg("ACCEPT FD:{0}SELECT:{1}".format(fd, selectable))
+                # selectable.addresses[socket.UDTSOCKET] = (socket, addr)
+                # self._udtsockets[socket.UDTSOCKET] = selectable
+                # socket = UdtSocket(_sock=socket)
+                # socket.setblocking(False)
+                # self._poller.add_usock(socket.UDTSOCKET,
+                #                        self._POLL_IN | self._POLL_DISCONNECTED)
             except KeyError:
-                if self._udtsockets.has_key(fd.UDTSOCKET):
-                    selectable = self._udtsockets[fd.UDTSOCKET]
-                    log.callWithLogger(selectable,
-                                       _drdw,
-                                       selectable,
-                                       fd,
-                                       event)
-            except UDTException as ue:
-                if ue[0] == 5006:
-                    log.callWithLogger(selectable,
-                                       _drdw,
-                                       selectable,
-                                       fd,
-                                       event)
+                pass
+            #     if self._udtsockets.has_key(fd.UDTSOCKET):
+            #         selectable = self._udtsockets[fd.UDTSOCKET]
+            #         log.callWithLogger(selectable,
+            #                            _drdw,
+            #                            selectable,
+            #                            fd,
+            #                            event)
+            # except UDTException as ue:
+            #     if ue[0] == 5006:
+            #         log.callWithLogger(selectable,
+            #                            _drdw,
+            #                            selectable,
+            #                            fd,
+            #                            event)
             else:
-                pass
-
+                log.callWithLogger(selectable, _drdw, selectable, fd,
+                                   event)
 
     def _handleUDTWriteSocketSet(self, set, event):
         """
                     if event & self._POLL_IN:
                         # Handle a read event.
                         if isinstance(fd, udt4.UDTSOCKET):
-                            why = selectable.doRead(fd)
+                            why = selectable.doRead()
                         else:
                             why = selectable.doRead()
                         inRead = True
         p.startListening()
         return p
 
+    def tlistenUDT(self,
+                   port,
+                   factory,
+                   interface='',
+                   maxPacketSize=8192,
+                   backlog=50):
+        p = udt.Port(port, factory, interface,
+                      maxPacketSize, self, backlog)
+        p.startListening()
+        return p
+
     def connectUDT(self,
                    host,
                    port,