5G-Framework / volttron

VOLTTRON Distributed Control System Platform
https://volttron.readthedocs.io/
Other
0 stars 0 forks source link

Understand Volttron's Message Bus #1

Open aik7 opened 2 years ago

aik7 commented 2 years ago

Understand Volttron's Message Bus

aik7 commented 2 years ago

We can find ZMQ related code for volttron at volttron/volttron/platform.

At volttron/volttron,

./platform/vip/agent/subsystems/channel.py:65:    creator and can be used to send messages via the zmq.Socket interface.
./platform/vip/agent/subsystems/channel.py:142:    def create(self, peer, name=None) -> zmq.Socket:
./platform/vip/agent/core.py:764:                    sock = zmq.Socket(self.context, zmq.PAIR)
./platform/vip/agent/compat.py:88:        self.in_sock = zmq.Socket(self.core.context, zmq.PULL)
./platform/vip/agent/compat.py:89:        self.out_sock = zmq.Socket(self.core.context, zmq.XPUB)
./platform/vip/socket.py:217:        """Extended zmq.Socket.bind() to include options in the address."""
./platform/vip/socket.py:253:        """Extended zmq.Socket.connect() to include options in the address."""
./platform/vip/socket.py:294:    """Subclass of zmq.Socket to implement VIP protocol.
./platform/vip/socket.py:588:        """Extended zmq.Socket.bind() to include options in addr."""
./platform/vip/socket.py:594:        """Extended zmq.Socket.connect() to include options in addr."""
./platform/vip/zmq_connection.py:66:            self.socket = zmq.Socket()
./platform/vip/routingservice.py:182:        sock = zmq.Socket(zmq.Context(), zmq.DEALER)
./platform/vip/routingservice.py:221:        sock = zmq.Socket(zmq.Context(), zmq.DEALER)
./platform/vip/routingservice.py:394:        Send specified frames through the passed zmq.Socket.  The frames do not
./platform/vip/routingservice.py:398:        :param sock: zmq.Socket
./platform/vip/router.py:89:    _socket_class = zmq.Socket
./platform/auth.py:205:        self.zap_socket = zmq.Socket(zmq.Context.instance(), zmq.ROUTER)
./platform/messaging/socket.py:58:class Socket(zmq.Socket):
./platform/messaging/socket.py:64:        return zmq.Socket.__new__(cls, context, socket_type)
./platform/messaging/socket.py:74:    send_string.__doc__ = zmq.Socket.send_string.__doc__
./platform/vip/pubsubservice.py:46:import zmq
./platform/vip/__init__.py:52:import zmq as _zmq
./platform/vip/externalrpcservice.py:42:import zmq
./platform/vip/zmq_connection.py:39:import zmq
./platform/vip/routingservice.py:43:import zmq
./platform/vip/router.py:46:import zmq
./platform/main.py:67:import zmq
./platform/messaging/socket.py:45:import zmq
./platform/agent/base.py:47:import zmq
./platform/aip.py:1005:                # This could happen when user switches from zmq to rmq after installing agent
./platform/vip/pubsubservice.py:47:from zmq import SNDMORE, EHOSTUNREACH, ZMQError, EAGAIN, NOBLOCK
./platform/vip/pubsubservice.py:48:from zmq import green
./platform/vip/proxy_zmq_router.py:43:from zmq import green as zmq
./platform/vip/proxy_zmq_router.py:44:from zmq.green import ZMQError, ENOTSOCK
./platform/vip/agent/subsystems/channel.py:48:from zmq import green as zmq
./platform/vip/agent/subsystems/channel.py:49:from zmq import ZMQError
./platform/vip/agent/subsystems/ping.py:48:from zmq import ZMQError
./platform/vip/agent/subsystems/ping.py:49:from zmq.green import ENOTSOCK
./platform/vip/agent/subsystems/hello.py:47:from zmq import ZMQError
./platform/vip/agent/subsystems/hello.py:48:from zmq.green import ENOTSOCK
./platform/vip/agent/subsystems/pubsub.py:50:from zmq import green as zmq
./platform/vip/agent/subsystems/pubsub.py:51:from zmq import SNDMORE
./platform/vip/agent/subsystems/peerlist.py:48:from zmq import ZMQError
./platform/vip/agent/subsystems/peerlist.py:49:from zmq.green import ENOTSOCK
./platform/vip/agent/subsystems/rpc.py:60:from zmq import Frame, NOBLOCK, ZMQError, EINVAL, EHOSTUNREACH
./platform/vip/agent/subsystems/rpc.py:61:from zmq.green import ENOTSOCK
./platform/vip/agent/core.py:58:from zmq import green as zmq
./platform/vip/agent/core.py:59:from zmq.green import ZMQError, EAGAIN, ENOTSOCK
./platform/vip/agent/core.py:60:from zmq.utils.monitor import recv_monitor_message
./platform/vip/agent/compat.py:43:from zmq import green as zmq
./platform/vip/externalrpcservice.py:45:from zmq import SNDMORE, EHOSTUNREACH, ZMQError, EAGAIN, NOBLOCK
./platform/vip/keydiscovery.py:47:from zmq import ZMQError
./platform/vip/green.py:58:from zmq.green import NOBLOCK, POLLOUT
./platform/vip/green.py:59:from zmq import green as _green
./platform/vip/socket.py:63:from zmq import (SNDMORE, RCVMORE, NOBLOCK, POLLOUT, DEALER, ROUTER,
./platform/vip/socket.py:65:from zmq.error import Again
./platform/vip/socket.py:66:from zmq.utils import z85
./platform/vip/routingservice.py:45:from zmq import SNDMORE, EHOSTUNREACH, ZMQError, EAGAIN, NOBLOCK
./platform/vip/routingservice.py:49:from zmq.utils import jsonapi
./platform/vip/routingservice.py:51:from zmq.utils.monitor import recv_monitor_message
./platform/vip/routingservice.py:53:from zmq.green import ENOTSOCK
./platform/vip/router.py:47:from zmq import Frame, NOBLOCK, ZMQError, EINVAL, EHOSTUNREACH
./platform/instance_setup.py:52:from zmq import green as zmq
./platform/auth.py:54:from zmq import green as zmq
./platform/main.py:68:from zmq import ZMQError
./platform/main.py:69:from zmq import green
./platform/main.py:106:from zmq import green as _green
./platform/agent/base.py:48:from zmq import POLLIN, POLLOUT
./platform/keystore.py:52:from zmq import curve_keypair