當前位置: 首頁>>代碼示例>>Python>>正文


Python ServerConf.addInboundConnection方法代碼示例

本文整理匯總了Python中cpc.util.conf.server_conf.ServerConf.addInboundConnection方法的典型用法代碼示例。如果您正苦於以下問題:Python ServerConf.addInboundConnection方法的具體用法?Python ServerConf.addInboundConnection怎麽用?Python ServerConf.addInboundConnection使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在cpc.util.conf.server_conf.ServerConf的用法示例。


在下文中一共展示了ServerConf.addInboundConnection方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: do_PUT

# 需要導入模塊: from cpc.util.conf.server_conf import ServerConf [as 別名]
# 或者: from cpc.util.conf.server_conf.ServerConf import addInboundConnection [as 別名]
    def do_PUT(self):
        conf = ServerConf()
        self.log.log(cpc.util.log.TRACE,'%s %s'%(self.command,self.path))
        self.log.log(cpc.util.log.TRACE,"Headers are: '%s'\n"%self.headers)

        if self.headers.has_key('persistent-connection'):
            if not self.headers.has_key('originating-server-id'):
                raise Exception("No originating server id found in request")

            self.originatingServerId = self.headers['originating-server-id']
            self.request.serverId = self.originatingServerId
            direction = self.headers['persistent-connection']
            if( direction == PersistentServerMessage.INBOUND_CONNECTION ):
                self.log.log(cpc.util.log.TRACE,"Got request to persist "
                                                "incoming connections")

                node = ServerConf().getNodes().get(self.originatingServerId)
                node.addInboundConnection()

            if( direction == PersistentServerMessage.OUTBOUND_CONNECTION ):
                self.log.log(cpc.util.log.TRACE,"Got request to persist "
                                                "outgoing connections")

                self.request.revertSocket = True

        #Checks if the message should be forwarded to another node
        if self.headers.has_key('server-id') and \
            ServerToServerMessage.connectToSelf(self.headers)==False:

            endNodeServerId = self.headers['server-id']

            self.log.log(cpc.util.log.TRACE,"Trying to reach end node %s"%(
                endNodeServerId))

            server_msg = ServerToServerMessage(endNodeServerId)
            server_msg.connect()
            retresp = server_msg.delegateMessage(self.headers.dict,
                                                 self.rfile)
            self.log.log(cpc.util.log.TRACE,"Done. Delegating back reply "
                                            "message  of length %d."%
                                            len(retresp.message))
            self.send_response(200)
            # the content-length is in the message.
            self.send_header("content-length", len(retresp.message))
            for (key, val) in retresp.headers.iteritems():
                kl=key.lower()
                if kl!="content-length" and kl!="server" and kl!="date":
                    self.log.log(cpc.util.log.TRACE,
                        "Sending header '%s'='%s'"%(kl,val))
                    self.send_header(key,val)

            self.send_header("Connection",  "keep-alive")
            self.end_headers()
            retresp.message.seek(0)
            self.wfile.write(retresp.message.read(len(retresp.message)))

        else:
            if(self.isApplicationRoot()):
                # put message format should be handled exaclty as POST
                request = HttpMethodParser.parsePOST(self.headers.dict,self.rfile)

                self.processMessage(request,closeConnection=False,
                    revertSocket=self.request.revertSocket
                )

            else:
                self.processMessage(closeConnection=False,
                    revertSocket=self.request.revertSocket)
開發者ID:ctk3b,項目名稱:copernicus,代碼行數:70,代碼來源:request_handler.py


注:本文中的cpc.util.conf.server_conf.ServerConf.addInboundConnection方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。