本文整理汇总了Python中bitstring.BitArray._getlength方法的典型用法代码示例。如果您正苦于以下问题:Python BitArray._getlength方法的具体用法?Python BitArray._getlength怎么用?Python BitArray._getlength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bitstring.BitArray
的用法示例。
在下文中一共展示了BitArray._getlength方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PIRServerBasic
# 需要导入模块: from bitstring import BitArray [as 别名]
# 或者: from bitstring.BitArray import _getlength [as 别名]
class PIRServerBasic(socketserver.ThreadingMixIn,socketserver.TCPServer):
import os
import os.path
os.path
lock = RLock()
active_client = {}
HELLO_INTERVAL = 20
TIME_TO_LIVE = 45
frameBuilder = FrameBuilder()
dbLengthMB = 1
c_MB = 2**20
logging.basicConfig(level=logging.DEBUG,format='%(name)s: %(message)s',)
lastReceivedQuery = "None"
def __init__(self, log_name,server_address, handler_class=ThreadedRequestHandler):
self.logger = logging.getLogger(log_name)
self.logger.debug('__init__')
self.file_savedDB = "bitArray_DB"
self.b_DB = BitArray()
self.loadDB()
socketserver.TCPServer.__init__(self, server_address, handler_class)
return
def server_activate(self):
self.logger.debug('server_activate')
socketserver.TCPServer.server_activate(self)
return
def serve_forever(self, poll_interval=0.5):
self.logger.debug('waiting for request')
return socketserver.TCPServer.serve_forever(self)
# def serve_forever(self):
# self.logger.debug('waiting for request')
# # self.logger.info('Handling requests, press <Ctrl-C> to quit')
# while True:
# self.handle_request()
# return
#
def handle_request(self):
self.logger.debug('handle_request')
return socketserver.TCPServer.handle_request(self)
def verify_request(self, request, client_address):
# self.logger.debug('verify_request(%s, %s)', request, client_address)
return socketserver.TCPServer.verify_request(self, request, client_address)
def process_request_thread(self, request, client_address):
# self.logger.debug('process_request_thread(%s, %s)', request, client_address)
return socketserver.ThreadingMixIn.process_request_thread(self, request, client_address)
def finish_request(self, request, client_address):
# self.logger.debug('finish_request(%s, %s)', request, client_address)
return socketserver.TCPServer.finish_request(self, request, client_address)
def close_request(self, request_address):
# self.logger.debug('close_request(%s)', request_address)
return socketserver.TCPServer.close_request(self, request_address)
def server_close(self):
self.logger.debug('server_close')
return socketserver.TCPServer.server_close(self)
def shutdown(self):
self.logger.debug('server_shutdown')
return socketserver.TCPServer.shutdown(self)
def activate(self,name,ipAddress,port):
self.logger = logging.getLogger(name)
self.logger.info("running at %s listens to port: %s ", ipAddress,port)
def addClient(self,clientAddres):
self.lock.acquire(blocking=True)
self.active_client[self.active_client.__len__()] = (clientAddres,int(time.time()%1000000))
self.lock.release()
def loadDB(self):
PATH="./" + self.file_savedDB
if os.path.isfile(PATH):
self.logger.info( "DB File found, loading")
with open(self.file_savedDB,'rb') as fileObject:
self.b_DB = BitArray(bin = pickle.load(fileObject))
self.pirQuery = PIRQueryObject(1, self.b_DB.len)
self.logger.info( "DB fully loaded")
self.pirQuery.setDB(self.b_DB)
# fileObject.close()
else:
self.logger.info("Either file is missing or is not readable")
# open the file for writing our DB
def getDBLength(self):
return self.b_DB._getlength()