return ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(N))
from processor import Processor
-
+from version import VERSION
class IrcThread(threading.Thread):
def getname(self):
- s = ''
+ s = 'v' + VERSION + ' '
if self.stratum_tcp_port:
s += 't' + self.stratum_tcp_port + ' '
if self.stratum_http_port:
s = socket.socket()
s.connect(('irc.freenode.net', 6667))
s.send('USER electrum 0 * :' + self.host + ' ' + ircname + '\n')
- s.send('NICK E_' + self.nick + '\n')
+ s.send('NICK EL_' + self.nick + '\n')
s.send('JOIN #electrum\n')
sf = s.makefile('r', 0)
t = 0
line = sf.readline()
line = line.rstrip('\r\n')
line = line.split()
+ if not line: continue
if line[0]=='PING':
s.send('PONG '+line[1]+'\n')
elif '353' in line: # answer to /names
k = line.index('353')
for item in line[k+1:]:
- if item[0:2] == 'E_':
+ if item[0:2] == 'EL_':
s.send('WHO %s\n'%item)
elif '352' in line: # answer to /who
# warning: this is a horrible hack which apparently works
result = self.get_peers()
elif method == 'server.version':
- result = 'ok'
+ result = VERSION
elif method == 'server.stop':
self.shared.stop()
"subscriptions":len(s.subscriptions)},
self.dispatcher.request_dispatcher.get_sessions())
+ elif method == 'server.cache':
+ p = self.dispatcher.request_dispatcher.processors['blockchain']
+ result = len(repr(p.store.tx_cache))
+
+ elif method == 'server.load':
+ p = self.dispatcher.request_dispatcher.processors['blockchain']
+ result = p.queue.qsize()
+
else:
print "unknown method", request