物联网网关程序设计-4

我们的程序 可能会有多种服务,故设计一个服务 队列,对 服务 之间进行 有效的通信和管理。

主要代码 如下:

   class Service {
    public:
        using Ptr = std::shared_ptr;

    public:
        explicit Service(const ServiceId &svcId);

        virtual ~Service() = default;

        virtual void preInit() {}

        virtual void postInit() {}

        static void run();

        [[nodiscard]] const ServiceId &sid() const;

        void sendMessageTo(const ServiceId &sid, const MessageBase::Ptr &msg);

        void sendMessageTo(const ServiceIdList &ss, const MessageBase::Ptr &msg);

        void sendMessageTo(const ServiceId &sid, const MessageId &mid);

        void sendMessageTo(const ServiceIdList &ss, const MessageId &mid);

        template
        void sendMessageTo(const ServiceId &sid, const MessageId &mid, const T &payload);

        template
        void sendMessageTo

你可能感兴趣的:(嵌入式开发,物联网,linux)