summaryrefslogtreecommitdiffstats
path: root/cholerab/cholerab-live
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2011-07-24 04:13:44 +0200
committermakefu <github@syntax-fehler.de>2011-07-24 04:13:44 +0200
commitf1f12489514f47f9154f8e4b6232399e747cfcd8 (patch)
tree1066d68dcc104cd8376c16378ac399253fd71763 /cholerab/cholerab-live
parent531d9d4309fa09e893a19fdcf8165dc7bf1b3731 (diff)
emergency commit
Diffstat (limited to 'cholerab/cholerab-live')
-rw-r--r--cholerab/cholerab-live/chol_net.py81
-rw-r--r--cholerab/cholerab-live/chol_net.pycbin0 -> 4364 bytes
-rwxr-xr-xcholerab/cholerab-live/cholerab.py43
-rw-r--r--cholerab/cholerab-live/here.log1296
-rw-r--r--cholerab/cholerab-live/view.py42
-rw-r--r--cholerab/cholerab-live/view.pycbin3949 -> 4409 bytes
6 files changed, 1431 insertions, 31 deletions
diff --git a/cholerab/cholerab-live/chol_net.py b/cholerab/cholerab-live/chol_net.py
new file mode 100644
index 00000000..b5820973
--- /dev/null
+++ b/cholerab/cholerab-live/chol_net.py
@@ -0,0 +1,81 @@
+from socket import socket, AF_INET,SOCK_DGRAM,IPPROTO_UDP,SOL_SOCKET,SO_REUSEADDR,IP_MULTICAST_TTL,IP_MULTICAST_LOOP,INADDR_ANY,inet_aton,IP_ADD_MEMBERSHIP,IPPROTO_IP
+import struct
+import threading
+import logging
+log = None
+from select import select
+GROUP = '224.110.42.23'
+PORT = 42023
+log = logging.getLogger('CholerabNet')
+class CholerabMulicastNet(threading.Thread):
+ def __init__(self,cholerab,group=GROUP,port=PORT):
+ threading.Thread.__init__(self)
+ self.cholerab=cholerab
+ self.group=group
+ self.port=port
+ self.initSocket()
+ def send_char(self,x,y,char):
+ """ translates given params into network message """
+ self.send_mc("%s %d %d" %(str(char),x,y))
+ def send_mc(self,arg):
+ """ Sends message via multicast"""
+
+ try:
+ log.debug("Sending '%s' to %s:%d" % (arg,self.group,self.port))
+ self.s.sendto("%s" % arg,0,(self.group,self.port))
+ except Exception ,e:
+ log.error("IN send_mc:%s"%str(e))
+
+ def initSocket (self,rcv=1):
+ ''' Initializes a Multicast socket '''
+ host = ''
+ log.debug("Setting up Multicast Socket")
+ self.s = socket(AF_INET,SOCK_DGRAM, IPPROTO_UDP)
+ self.s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
+ self.s.setsockopt(IPPROTO_IP, IP_MULTICAST_TTL, 32)
+ self.s.setsockopt(IPPROTO_IP,IP_MULTICAST_LOOP,1) # we do not want our own packets to be replayed
+ if rcv==1:
+ log.debug("Configuring for Read AND Write")
+ self.s.bind((host,PORT))
+ mreq = struct.pack("4sl", inet_aton(GROUP), INADDR_ANY)
+ self.s.setsockopt(IPPROTO_IP,IP_ADD_MEMBERSHIP,mreq)
+ def run(self):
+ self.running = 1
+ while self.running:
+ # break if we do not want to loop on
+ ready,output,exception = select([self.s],[],[],1) # try every second
+ for r in ready:
+ if r == self.s:
+ (data,addr) = self.s.recvfrom(1024)
+ log.debug("Received Data from %s, data %s"%(str(addr),str(data)))
+ self.receive_net(addr,data)
+
+ def send_stupid(self,addr):
+ """ sends YOU ARE MADE OF STUPID to the right host """
+ #TODO implement me
+ pass
+
+ def receive_net(self,addr,data):
+ """ resolves which nick sent the message
+ TODO handle user resolution in mulicast """
+ def decode():
+ pass #TODO implement me
+
+ #FIXME TODO using port as host identification is probably just plain wrong, fix me for real net!
+ try:
+ address,port = addr
+ user = port
+ arr = str(data).split()
+ char = arr[0]
+ x = arr[1]
+ y = arr[2]
+ self.cholerab.write_char(int(x),int(y),char,user)
+ except Exception, e:
+ log.error("Triggered YOU ARE MADE OF STUPID: %s" % str(e))
+ self.send_stupid(addr)
+
+ def stop(self):
+ '''
+ stops the whole treading stuff gracefully
+ '''
+ self.running=0
diff --git a/cholerab/cholerab-live/chol_net.pyc b/cholerab/cholerab-live/chol_net.pyc
new file mode 100644
index 00000000..573bc413
--- /dev/null
+++ b/cholerab/cholerab-live/chol_net.pyc
Binary files differ
diff --git a/cholerab/cholerab-live/cholerab.py b/cholerab/cholerab-live/cholerab.py
index 0ac44e09..b6b3f84f 100755
--- a/cholerab/cholerab-live/cholerab.py
+++ b/cholerab/cholerab-live/cholerab.py
@@ -2,22 +2,35 @@
# -*- coding: utf-8 -*-
import curses,time
from view import CursesView
+from chol_net import CholerabMulicastNet
import logging
logging.basicConfig(filename='here.log',level=logging.DEBUG)
log = logging.getLogger('main')
-def main(scr):
+class Cholerab:
+ def __init__(self):
+ self.view = CursesView(cholerab=self)
+ self.transport = CholerabMulicastNet(cholerab=self)
+ def send_char(self,x,y,char):
+ log.info("Sending %s at (%d,%d) to connected peers" %(char,x,y))
+ self.transport.send_char(x,y,char)
+
+ def write_char(self,x,y,char,user):
+ log.info("Writing %s at (%d,%d) from %d to view" %(char,x,y,user))
+ self.view.write_char(x,y,char,user)
+ def stop(self):
+ self.view.stop()
+ self.transport.stop()
+ def main(self):
+ self.view.start()
+ self.transport.start()
+ self.view.join()
+ #after view dies, kill the transport as well
+ self.transport.stop()
+ self.transport.join()
+def main():
log.debug('started main')
- a = CursesView(scr=scr)
- a.start()
- log.debug
- a.write_char(5,5,'p')
- a.write_char(6,5,'e')
- a.write_char(7,5,'n')
- a.write_char(8,5,'i')
- a.write_char(9,5,'s')
- a.write_str(5,6,'¯\(°_o)/¯',user=2)
- for i in range(7,11):
- time.sleep(2)
- a.write_str(5,i,'¯\(°_o)/¯',user=3)
- a.join()
-curses.wrapper(main)
+ chol = Cholerab()
+ chol.main()
+
+if __name__ == "__main__":
+ main()
diff --git a/cholerab/cholerab-live/here.log b/cholerab/cholerab-live/here.log
index 80e02d4c..bc128175 100644
--- a/cholerab/cholerab-live/here.log
+++ b/cholerab/cholerab-live/here.log
@@ -147,3 +147,1299 @@ DEBUG:cholerab-curses:261
DEBUG:cholerab-curses:261
DEBUG:cholerab-curses:261
DEBUG:cholerab-curses:113
+DEBUG:main:started main
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:259
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:115
+DEBUG:cholerab-curses:261
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:115
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:118
+DEBUG:cholerab-curses:120
+DEBUG:cholerab-curses:106
+DEBUG:cholerab-curses:108
+DEBUG:cholerab-curses:107
+DEBUG:cholerab-curses:106
+DEBUG:cholerab-curses:100
+DEBUG:cholerab-curses:102
+DEBUG:cholerab-curses:115
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:115
+DEBUG:cholerab-curses:258
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:97
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:127
+INFO:cholerab-curses:backspace pressed
+DEBUG:cholerab-curses:113
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+INFO:main:Sending 97 at (2,1) to connected peers
+INFO:main:Sending 115 at (3,1) to connected peers
+INFO:main:Sending 100 at (4,1) to connected peers
+INFO:main:Sending 100 at (5,1) to connected peers
+INFO:main:Sending 97 at (6,1) to connected peers
+INFO:main:Sending 115 at (7,1) to connected peers
+INFO:main:Sending 115 at (8,1) to connected peers
+INFO:main:Sending 100 at (9,1) to connected peers
+DEBUG:main:started main
+INFO:main:Sending a at (6,4) to connected peers
+INFO:main:Sending a at (8,4) to connected peers
+INFO:main:Sending s at (9,5) to connected peers
+INFO:main:Sending d at (10,6) to connected peers
+INFO:main:Sending f at (11,6) to connected peers
+INFO:main:Sending d at (12,6) to connected peers
+DEBUG:main:started main
+INFO:main:Sending a at (5,4) to connected peers
+INFO:main:Sending a at (6,4) to connected peers
+INFO:main:Sending s at (7,4) to connected peers
+INFO:main:Sending d at (8,4) to connected peers
+INFO:main:Sending s at (9,4) to connected peers
+INFO:main:Sending f at (10,4) to connected peers
+INFO:main:Sending d at (11,4) to connected peers
+INFO:main:Sending a at (12,4) to connected peers
+INFO:main:Sending d at (13,4) to connected peers
+INFO:main:Sending f at (14,4) to connected peers
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+DEBUG:main:started main
+INFO:main:Sending a at (5,5) to connected peers
+INFO:main:Sending a at (6,5) to connected peers
+INFO:main:Sending a at (7,5) to connected peers
+INFO:main:Sending a at (8,5) to connected peers
+INFO:main:Sending a at (9,5) to connected peers
+INFO:main:Sending a at (10,5) to connected peers
+INFO:main:Sending a at (11,5) to connected peers
+INFO:main:Sending a at (12,5) to connected peers
+INFO:main:Sending a at (13,5) to connected peers
+INFO:main:Sending a at (14,5) to connected peers
+INFO:main:Sending a at (15,5) to connected peers
+INFO:main:Sending a at (16,5) to connected peers
+INFO:main:Sending a at (17,5) to connected peers
+INFO:main:Sending a at (18,5) to connected peers
+INFO:main:Sending a at (19,5) to connected peers
+INFO:main:Sending a at (20,5) to connected peers
+INFO:main:Sending a at (21,5) to connected peers
+INFO:main:Sending a at (22,5) to connected peers
+INFO:main:Sending a at (23,5) to connected peers
+INFO:main:Sending a at (24,5) to connected peers
+INFO:main:Sending a at (25,5) to connected peers
+INFO:main:Sending a at (26,5) to connected peers
+INFO:main:Sending a at (27,5) to connected peers
+INFO:main:Sending a at (28,5) to connected peers
+INFO:main:Sending a at (29,5) to connected peers
+INFO:main:Sending a at (30,5) to connected peers
+INFO:main:Sending a at (31,5) to connected peers
+INFO:main:Sending a at (32,5) to connected peers
+INFO:main:Sending a at (33,5) to connected peers
+INFO:main:Sending a at (34,5) to connected peers
+INFO:main:Sending a at (35,5) to connected peers
+INFO:main:Sending a at (36,5) to connected peers
+INFO:main:Sending a at (37,5) to connected peers
+INFO:main:Sending a at (38,5) to connected peers
+INFO:main:Sending a at (39,5) to connected peers
+INFO:main:Sending a at (40,5) to connected peers
+INFO:main:Sending a at (41,5) to connected peers
+INFO:main:Sending a at (42,5) to connected peers
+INFO:main:Sending a at (43,5) to connected peers
+INFO:main:Sending a at (44,5) to connected peers
+INFO:main:Sending a at (45,5) to connected peers
+INFO:main:Sending a at (46,5) to connected peers
+INFO:main:Sending a at (47,5) to connected peers
+INFO:main:Sending a at (48,5) to connected peers
+INFO:main:Sending a at (49,5) to connected peers
+INFO:main:Sending a at (50,5) to connected peers
+INFO:main:Sending a at (51,5) to connected peers
+INFO:main:Sending a at (52,5) to connected peers
+INFO:main:Sending a at (53,5) to connected peers
+INFO:main:Sending a at (54,5) to connected peers
+INFO:main:Sending a at (55,5) to connected peers
+INFO:main:Sending a at (56,5) to connected peers
+INFO:main:Sending a at (57,5) to connected peers
+INFO:main:Sending a at (58,5) to connected peers
+INFO:main:Sending a at (59,5) to connected peers
+INFO:main:Sending a at (60,5) to connected peers
+INFO:main:Sending a at (61,5) to connected peers
+INFO:main:Sending a at (62,5) to connected peers
+INFO:main:Sending a at (63,5) to connected peers
+INFO:main:Sending a at (64,5) to connected peers
+INFO:main:Sending a at (65,5) to connected peers
+INFO:main:Sending a at (66,5) to connected peers
+INFO:main:Sending a at (67,5) to connected peers
+INFO:main:Sending a at (68,5) to connected peers
+DEBUG:main:started main
+INFO:main:Sending a at (7,7) to connected peers
+INFO:main:Sending a at (8,7) to connected peers
+INFO:main:Sending a at (9,7) to connected peers
+INFO:main:Sending a at (10,7) to connected peers
+INFO:main:Sending a at (11,7) to connected peers
+INFO:main:Sending a at (12,7) to connected peers
+INFO:main:Sending a at (13,7) to connected peers
+INFO:main:Sending a at (14,7) to connected peers
+INFO:main:Sending a at (15,7) to connected peers
+INFO:main:Sending a at (16,7) to connected peers
+INFO:main:Sending a at (17,7) to connected peers
+INFO:main:Sending a at (18,7) to connected peers
+INFO:main:Sending a at (19,7) to connected peers
+INFO:main:Sending a at (20,7) to connected peers
+INFO:main:Sending a at (21,7) to connected peers
+INFO:main:Sending a at (22,7) to connected peers
+INFO:main:Sending a at (23,7) to connected peers
+INFO:main:Sending a at (24,7) to connected peers
+INFO:main:Sending a at (25,7) to connected peers
+INFO:main:Sending d at (26,7) to connected peers
+INFO:main:Sending d at (27,7) to connected peers
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:cholerab-curses:backspace pressed
+INFO:main:Sending d at (6,11) to connected peers
+INFO:main:Sending s at (7,11) to connected peers
+INFO:main:Sending f at (8,10) to connected peers
+INFO:main:Sending s at (10,10) to connected peers
+INFO:main:Sending d at (11,10) to connected peers
+INFO:main:Sending f at (13,10) to connected peers
+INFO:main:Sending d at (14,9) to connected peers
+INFO:main:Sending s at (15,9) to connected peers
+INFO:main:Sending s at (17,8) to connected peers
+INFO:main:Sending f at (18,8) to connected peers
+INFO:main:Sending d at (19,8) to connected peers
+INFO:main:Sending s at (20,8) to connected peers
+INFO:main:Sending f at (22,8) to connected peers
+INFO:main:Sending s at (23,7) to connected peers
+INFO:main:Sending d at (25,7) to connected peers
+INFO:main:Sending s at (27,6) to connected peers
+INFO:main:Sending d at (28,6) to connected peers
+INFO:main:Sending d at (29,5) to connected peers
+INFO:main:Sending s at (31,4) to connected peers
+INFO:main:Sending f at (32,4) to connected peers
+INFO:main:Sending d at (34,3) to connected peers
+INFO:main:Sending s at (35,3) to connected peers
+INFO:main:Sending d at (38,2) to connected peers
+INFO:main:Sending s at (39,2) to connected peers
+INFO:main:Sending f at (40,2) to connected peers
+INFO:main:Sending f at (41,2) to connected peers
+INFO:main:Sending d at (44,0) to connected peers
+INFO:main:Sending s at (45,0) to connected peers
+INFO:main:Sending f at (46,0) to connected peers
+INFO:main:Sending d at (47,23) to connected peers
+INFO:main:Sending d at (49,22) to connected peers
+INFO:main:Sending s at (50,22) to connected peers
+INFO:main:Sending f at (51,22) to connected peers
+INFO:main:Sending d at (53,21) to connected peers
+INFO:main:Sending s at (54,21) to connected peers
+INFO:main:Sending d at (56,20) to connected peers
+INFO:main:Sending s at (57,20) to connected peers
+INFO:main:Sending f at (58,20) to connected peers
+INFO:main:Sending d at (60,19) to connected peers
+INFO:main:Sending s at (61,19) to connected peers
+INFO:main:Sending f at (62,19) to connected peers
+INFO:main:Sending f at (64,18) to connected peers
+INFO:main:Sending s at (65,18) to connected peers
+INFO:main:Sending d at (66,18) to connected peers
+INFO:main:Sending s at (68,17) to connected peers
+INFO:main:Sending f at (69,17) to connected peers
+INFO:main:Sending d at (70,17) to connected peers
+INFO:main:Sending s at (72,16) to connected peers
+INFO:main:Sending d at (73,16) to connected peers
+INFO:main:Sending f at (74,16) to connected peers
+INFO:main:Sending s at (76,16) to connected peers
+INFO:main:Sending f at (78,15) to connected peers
+INFO:main:Sending s at (0,15) to connected peers
+INFO:main:Sending f at (1,15) to connected peers
+INFO:main:Sending f at (3,14) to connected peers
+INFO:main:Sending s at (4,14) to connected peers
+INFO:main:Sending d at (5,14) to connected peers
+INFO:main:Sending s at (7,13) to connected peers
+INFO:main:Sending d at (8,13) to connected peers
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (1,1) to connected peers
+INFO:main:Sending a at (2,1) to connected peers
+INFO:main:Sending d at (4,1) to connected peers
+INFO:main:Sending s at (5,1) to connected peers
+INFO:main:Sending f at (6,1) to connected peers
+INFO:main:Sending a at (7,1) to connected peers
+INFO:main:Sending a at (8,1) to connected peers
+INFO:main:Sending a at (9,1) to connected peers
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (10,1) to connected peers
+INFO:main:Sending a at (0,0) to connected peers
+INFO:main:Sending s at (1,0) to connected peers
+INFO:main:Sending s at (2,0) to connected peers
+INFO:main:Sending d at (3,0) to connected peers
+INFO:main:Sending a at (4,0) to connected peers
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (11,1) to connected peers
+INFO:main:Sending a at (12,1) to connected peers
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+INFO:main:Sending s at (1,0) to connected peers
+INFO:main:Sending d at (2,0) to connected peers
+INFO:main:Sending a at (13,1) to connected peers
+INFO:main:Sending a at (14,1) to connected peers
+INFO:main:Sending a at (15,1) to connected peers
+INFO:main:Sending s at (16,1) to connected peers
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+INFO:main:Sending s at (1,0) to connected peers
+INFO:main:Sending a at (3,0) to connected peers
+INFO:main:Sending s at (4,0) to connected peers
+INFO:main:Sending s at (5,0) to connected peers
+INFO:main:Sending d at (6,0) to connected peers
+INFO:main:Sending s at (7,0) to connected peers
+INFO:main:Sending a at (8,4) to connected peers
+INFO:main:Sending s at (9,4) to connected peers
+INFO:main:Sending d at (10,4) to connected peers
+INFO:main:Sending s at (11,4) to connected peers
+INFO:main:Sending d at (12,4) to connected peers
+INFO:main:Sending a at (2,0) to connected peers
+INFO:main:Sending s at (3,0) to connected peers
+INFO:main:Sending s at (4,0) to connected peers
+INFO:main:Sending a at (13,4) to connected peers
+INFO:main:Sending a at (14,4) to connected peers
+INFO:main:Sending a at (15,4) to connected peers
+INFO:main:Sending s at (16,4) to connected peers
+INFO:main:Sending d at (17,4) to connected peers
+INFO:main:Sending a at (18,4) to connected peers
+INFO:main:Sending s at (19,4) to connected peers
+INFO:main:Sending d at (20,4) to connected peers
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending s at (0,0) to connected peers
+INFO:main:Sending a at (1,0) to connected peers
+INFO:main:Sending d at (2,0) to connected peers
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+INFO:main:Sending a at (1,3) to connected peers
+DEBUG:CholerabNet:Sending 'a 1 3' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 1 3
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 1 3
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+INFO:main:Sending s at (4,1) to connected peers
+DEBUG:CholerabNet:Sending 's 4 1' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data s 4 1
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data s 4 1
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: %d format: a number is required, not str
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: %d format: a number is required, not str
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: %d format: a number is required, not str
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: not enough arguments for format string
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+INFO:main:Writing a at (0,0) from 42023 to view
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: %d format: a number is required, not str
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: write_char() takes exactly 4 arguments (5 given)
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (0,0) to connected peers
+DEBUG:CholerabNet:Sending 'a 0 0' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+ERROR:CholerabNet:Triggered YOU ARE MADE OF STUPID: %d format: a number is required, not str
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 0 0
+INFO:main:Writing a at (0,0) from 42023 to view
+DEBUG:main:started main
+DEBUG:CholerabNet:Setting up Multicast Socket
+DEBUG:CholerabNet:Configuring for Read AND Write
+INFO:main:Sending a at (3,3) to connected peers
+DEBUG:CholerabNet:Sending 'a 3 3' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 3 3
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 3 3
+INFO:main:Writing a at (3,3) from 42023 to view
+INFO:main:Writing a at (3,3) from 42023 to view
+INFO:main:Sending a at (4,4) to connected peers
+DEBUG:CholerabNet:Sending 'a 4 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 4 4
+INFO:main:Writing a at (4,4) from 42023 to view
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data a 4 4
+INFO:main:Writing a at (4,4) from 42023 to view
+INFO:main:Sending d at (5,4) to connected peers
+DEBUG:CholerabNet:Sending 'd 5 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data d 5 4
+INFO:main:Writing d at (5,4) from 42023 to view
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data d 5 4
+INFO:main:Writing d at (5,4) from 42023 to view
+INFO:main:Sending f at (6,4) to connected peers
+DEBUG:CholerabNet:Sending 'f 6 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data f 6 4
+INFO:main:Writing f at (6,4) from 42023 to view
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data f 6 4
+INFO:main:Writing f at (6,4) from 42023 to view
+INFO:main:Sending j at (7,4) to connected peers
+DEBUG:CholerabNet:Sending 'j 7 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data j 7 4
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data j 7 4
+INFO:main:Writing j at (7,4) from 42023 to view
+INFO:main:Writing j at (7,4) from 42023 to view
+INFO:main:Sending l at (8,4) to connected peers
+DEBUG:CholerabNet:Sending 'l 8 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data l 8 4
+INFO:main:Writing l at (8,4) from 42023 to view
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data l 8 4
+INFO:main:Writing l at (8,4) from 42023 to view
+INFO:main:Sending s at (9,4) to connected peers
+DEBUG:CholerabNet:Sending 's 9 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data s 9 4
+INFO:main:Writing s at (9,4) from 42023 to view
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data s 9 4
+INFO:main:Writing s at (9,4) from 42023 to view
+INFO:main:Sending k at (10,4) to connected peers
+DEBUG:CholerabNet:Sending 'k 10 4' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data k 10 4
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 42023), data k 10 4
+INFO:main:Writing k at (10,4) from 42023 to view
+INFO:main:Writing k at (10,4) from 42023 to view
+INFO:main:Sending a at (2,2) to connected peers
+DEBUG:CholerabNet:Sending 'a 2 2' to 224.110.42.23:42023
+DEBUG:CholerabNet:Received Data from ('10.42.1.21', 4