コード例 #1
0
def SendBinaryRequest(data) :
    if data :
        data = IoTSocketStruct.MakeRequestTRHdr( uid         = None,
                                                 trackingNbr = 30303,
                                                 dataFormat  = IoTSocketStruct.PLDATA_FORMAT_BIN,
                                                 formatOpt   = IoTSocketStruct.PLDATA_FMT_OPT_NONE,
                                                 dataLen     = len(data) ) \
             + data
        return xasTCPCli.AsyncSendData(data)
    return False
コード例 #2
0
 def RouteRequest(self, fromUID, toUID, trackingNbr, dataFormat, formatOpt,
                  data):
     if toUID or self.CentralSessionExists():
         if toUID:
             session = self._objectsSessions.get(toUID, None)
         else:
             session = self._centralSession
         data = IoTSocketStruct.MakeRequestTRHdr( fromUID,
                                                  trackingNbr,
                                                  dataFormat,
                                                  formatOpt,
                                                  len(data) ) \
              + data
         if session and session.Send(data):
             return True
         if not toUID:
             toUID = IoTSocketStruct.CENTRAL_EMPTY_UID
         sessionData, exp = self._keepSessionsData.get(toUID, (None, None))
         if sessionData is not None:
             sessionData.append(data)
             self.Log('ROUTER > REQUEST KEPT (#%s)' % trackingNbr)
             return True
     else:
         if self._onGetWebHookRequest:
             plFormat, plObject = IoTSocketStruct.DecodeJSONPayload(
                 data, dataFormat)
             if plFormat is not None and plObject is not None:
                 webHook = self._onGetWebHookRequest(self)
                 if webHook:
                     webHook.ObjRef = (fromUID, trackingNbr)
                     webHook.OnResponseOk = self._onWebHookResponseOk
                     webHook.OnClosed = self._onWebHookClosed
                     webHook.Post(self._centralAuthKeyHex, fromUID,
                                  plObject, plFormat)
                     return True
                 self.Log('ROUTER > ERROR TO OPEN WEBHOOK OF REQUEST')
     self.Log('ROUTER > NO DESTINATION FOR REQUEST (#%s)' % trackingNbr)
     return False