Ejemplo n.º 1
0
    def child_device_detected(self,
                              parent_device_id,
                              parent_port_no,
                              child_device_type,
                              channel_id,
                              **kw):
        id = ID()
        id.id = parent_device_id
        ppn = IntType()
        ppn.val = parent_port_no
        cdt = StrType()
        cdt.val = child_device_type
        channel = IntType()
        channel.val = channel_id
        to_topic = self.get_core_topic(parent_device_id)
        reply_topic = self.get_adapter_topic()

        # to_topic = createSubTopic(self.core_topic, parent_device_id)
        # reply_topic = createSubTopic(self.listening_topic, parent_device_id)
        args = self._to_proto(**kw)
        res = yield self.invoke(rpc="ChildDeviceDetected",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                parent_device_id=id,
                                parent_port_no=ppn,
                                child_device_type=cdt,
                                channel_id=channel,
                                **args)
        returnValue(res)
Ejemplo n.º 2
0
    def port_state_update(self,
                          device_id,
                          port_type,
                          port_no,
                          oper_status):
        id = ID()
        id.id = device_id
        pt = IntType()
        pt.val = port_type
        pNo = IntType()
        pNo.val = port_no
        o_status = IntType()
        o_status.val = oper_status

        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        # to_topic = createSubTopic(self.core_topic, device_id)
        # reply_topic = createSubTopic(self.listening_topic, device_id)
        res = yield self.invoke(rpc="PortStateUpdate",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=id,
                                port_type=pt,
                                port_no=pNo,
                                oper_status=o_status)
        returnValue(res)
Ejemplo n.º 3
0
    def child_devices_state_update(self, parent_device_id,
                                   oper_status=None,
                                   connect_status=None):

        id = ID()
        id.id = parent_device_id
        o_status = IntType()
        if oper_status or oper_status == OperStatus.UNKNOWN:
            o_status.val = oper_status
        else:
            o_status.val = -1
        c_status = IntType()
        if connect_status or connect_status == ConnectStatus.UNKNOWN:
            c_status.val = connect_status
        else:
            c_status.val = -1

        to_topic = self.get_core_topic(parent_device_id)
        reply_topic = self.get_adapter_topic()

        # to_topic = createSubTopic(self.core_topic, parent_device_id)
        # reply_topic = createSubTopic(self.listening_topic, parent_device_id)
        res = yield self.invoke(rpc="child_devices_state_update",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                parent_device_id=id,
                                oper_status=o_status,
                                connect_status=c_status)
        returnValue(res)
Ejemplo n.º 4
0
    def ports_state_update(
            self,  # TODO: Golang rw-core hdoes not have filter
            device_id,
            port_type_filter,
            oper_status):
        log.debug("ports_state_update",
                  device_id=device_id,
                  oper_status=oper_status)
        dev_id = ID()
        dev_id.id = device_id
        t_filter = IntType()
        t_filter.val = port_type_filter
        o_status = IntType()
        o_status.val = oper_status

        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="PortsStateUpdate",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id,
                                port_type_filter=t_filter,
                                oper_status=o_status)
        log.debug("ports_state_update_response",
                  device_id=device_id,
                  port_type_filter=port_type_filter,
                  oper_status=oper_status,
                  response=res)
        returnValue(res)
Ejemplo n.º 5
0
    def children_state_update(self,
                              device_id,
                              oper_status=None,
                              connect_status=None):
        dev_id = ID()
        dev_id.id = device_id
        o_status = IntType()
        if oper_status or oper_status == OperStatus.UNKNOWN:
            o_status.val = oper_status
        else:
            o_status.val = -1
        c_status = IntType()
        if connect_status or connect_status == ConnectStatus.UNKNOWN:
            c_status.val = connect_status
        else:
            c_status.val = -1

        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="ChildrenStateUpdate",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id,
                                oper_status=o_status,
                                connect_status=c_status)
        returnValue(res)
Ejemplo n.º 6
0
    def ports_state_update(self, device_id, port_type_filter, oper_status):
        log.debug("ports_state_update",
                  device_id=device_id,
                  oper_status=oper_status)
        id = ID()
        id.id = device_id
        t_filter = IntType()
        t_filter.val = port_type_filter
        o_status = IntType()
        o_status.val = oper_status

        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        # to_topic = createSubTopic(self.core_topic, device_id)
        # reply_topic = createSubTopic(self.listening_topic, device_id)
        res = yield self.invoke(rpc="PortsStateUpdate",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=id,
                                port_type_filter=t_filter,
                                oper_status=o_status)
        log.debug("ports_state_update_response",
                  device_id=device_id,
                  port_type_filter=port_type_filter,
                  oper_status=oper_status,
                  response=res)
        returnValue(res)
Ejemplo n.º 7
0
 def get_child_devices(self, parent_device_id):
     log.debug("get-child-devices")
     id = ID()
     id.id = parent_device_id
     to_topic = self.get_core_topic(parent_device_id)
     reply_topic = self.get_adapter_topic()
     res = yield self.invoke(rpc="GetChildDevices",
                             to_topic=to_topic,
                             reply_topic=reply_topic,
                             device_id=id)
     returnValue(res)
Ejemplo n.º 8
0
 def get_child_device_with_proxy_address(self, proxy_address):
     log.debug("get-child-device-with-proxy-address")
     id = ID()
     id.id = proxy_address.device_id
     to_topic = self.get_core_topic(proxy_address.device_id)
     reply_topic = self.get_adapter_topic()
     res = yield self.invoke(rpc="GetChildDeviceWithProxyAddress",
                             to_topic=to_topic,
                             reply_topic=reply_topic,
                             proxy_address=proxy_address)
     returnValue(res)
Ejemplo n.º 9
0
 def get_child_device(self, parent_device_id, **kwargs):
     log.debug("get-child-device")
     id = ID()
     id.id = parent_device_id
     to_topic = self.get_core_topic(parent_device_id)
     reply_topic = self.get_adapter_topic()
     args = self._to_proto(**kwargs)
     res = yield self.invoke(rpc="GetChildDevice",
                             to_topic=to_topic,
                             reply_topic=reply_topic,
                             device_id=id,
                             **args)
     returnValue(res)
Ejemplo n.º 10
0
    def port_created(self, device_id, port):
        log.debug("port_created")
        proto_id = ID()
        proto_id.id = device_id
        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="PortCreated",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=proto_id,
                                port=port)
        returnValue(res)
Ejemplo n.º 11
0
    def get_ports(self, device_id, port_type):
        dev_id = ID()
        dev_id.id = device_id
        p_type = IntType()
        p_type.val = port_type
        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="GetPorts",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id,
                                port_type=p_type)
        returnValue(res)
Ejemplo n.º 12
0
    def device_reason_update(self, device_id, reason):
        dev_id = ID()
        dev_id.id = device_id
        rsn = StrType()
        rsn.val = reason
        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="DeviceReasonUpdate",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id,
                                device_reason=rsn)
        returnValue(res)
Ejemplo n.º 13
0
    def reconcile_child_devices(self, parent_device_id):

        log.warn("todo", reason='This has not been debugged yet')
        dev_id = ID()
        dev_id.id = parent_device_id

        to_topic = self.get_core_topic(parent_device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="ReconcileChildDevices",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id)
        returnValue(res)
Ejemplo n.º 14
0
    def get_device(self, device_id):
        log.debug("get-device")
        dev_id = ID()
        dev_id.id = device_id
        # Once we have a device being managed, all communications between the
        # the adapter and the core occurs over a topic associated with that
        # device
        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="GetDevice",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id)
        returnValue(res)
Ejemplo n.º 15
0
    def get_ports(self, device_id, port_type):
        id = ID()
        id.id = device_id
        p_type = IntType()
        p_type.val = port_type
        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        # to_topic = createSubTopic(self.core_topic, device_id)
        # reply_topic = createSubTopic(self.listening_topic, device_id)
        res = yield self.invoke(rpc="GetPorts",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=id,
                                port_type=p_type)
        returnValue(res)
Ejemplo n.º 16
0
 def send_packet_in(self, device_id, port, packet, response_required=True):
     log.debug("send_packet_in", device_id=device_id)
     proto_id = ID()
     proto_id.id = device_id
     port_num = IntType()
     port_num.val = port
     pac = Packet()
     pac.payload = packet
     to_topic = self.get_core_topic(device_id)
     reply_topic = self.get_adapter_topic()
     res = yield self.invoke(rpc="PacketIn",
                             to_topic=to_topic,
                             reply_topic=reply_topic,
                             device_id=proto_id,
                             port=port_num,
                             packet=pac,
                             response_required=response_required)
     returnValue(res)
Ejemplo n.º 17
0
 def send_packet_in(self, device_id, port, packet):
     log.debug("send_packet_in", device_id=device_id)
     proto_id = ID()
     proto_id.id = device_id
     p = IntType()
     p.val = port
     pac = Packet()
     pac.payload = packet
     to_topic = self.get_core_topic(device_id)
     reply_topic = self.get_adapter_topic()
     # to_topic = createSubTopic(self.core_topic, device_id)
     # reply_topic = createSubTopic(self.listening_topic, device_id)
     res = yield self.invoke(rpc="PacketIn",
                             to_topic=to_topic,
                             reply_topic=reply_topic,
                             device_id=proto_id,
                             port=p,
                             packet=pac)
     returnValue(res)
Ejemplo n.º 18
0
    def port_state_update(self, device_id, port_type, port_no, oper_status):
        dev_id = ID()
        dev_id.id = device_id
        ptype = IntType()
        ptype.val = port_type
        pnumber = IntType()
        pnumber.val = port_no
        o_status = IntType()
        o_status.val = oper_status

        to_topic = self.get_core_topic(device_id)
        reply_topic = self.get_adapter_topic()

        res = yield self.invoke(rpc="PortStateUpdate",
                                to_topic=to_topic,
                                reply_topic=reply_topic,
                                device_id=dev_id,
                                port_type=ptype,
                                port_no=pnumber,
                                oper_status=o_status)
        returnValue(res)