# server.py - inotify common protocol code # # Copyright 2006, 2007, 2008 Bryan O'Sullivan # Copyright 2007, 2008 Brendan Cully # # This software may be used and distributed according to the terms of the # GNU General Public License version 2, incorporated herein by reference. import cStringIO, socket, struct version = 1 resphdrfmts = { 'STAT': '>llllllll' # status requests } resphdrsizes = dict((k, struct.calcsize(v)) for k, v in resphdrfmts.iteritems()) def recvcs(sock): cs = cStringIO.StringIO() s = True try: while s: s = sock.recv(65536) cs.write(s) finally: sock.shutdown(socket.SHUT_RD) cs.seek(0) return cs