当前位置: 首页>>代码示例>>Python>>正文


Python BitArray._getlength方法代码示例

本文整理汇总了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()
开发者ID:eliLemb,项目名称:pir_project,代码行数:100,代码来源:PIRServerBasic.py


注:本文中的bitstring.BitArray._getlength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。