当前位置: 首页>>代码示例>>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;未经允许,请勿转载。