modbus rtu 1.1 plugins
This commit is contained in:
@@ -12,9 +12,13 @@
|
||||
|
||||
#include "core/plugin_system/PluginManager.h"
|
||||
#include "core/plugin_system/IProtocolFramerPlugin.h"
|
||||
#include "core/plugin_system/IProtocolMapperPlugin.h"
|
||||
#include "core/models/DOMMessage.h"
|
||||
#include "core/models/EnrichedMessage.h"
|
||||
#include "core/memory/LockFreeQueue.h"
|
||||
#include "core/memory/MemoryPool.h"
|
||||
#include "core/threading/MutexQueue.h"
|
||||
#include "message_bus/pipeline/DynamicRuleRegistry.h"
|
||||
#include "message_bus/pipeline/PipelineContext.h"
|
||||
#include "message_bus/pipeline/stages/1_framers/PassthroughFramer.h"
|
||||
|
||||
@@ -29,9 +33,6 @@ struct PipelineRuntimeConfig
|
||||
|
||||
std::size_t framedQueueMax{4096};
|
||||
std::size_t maxReorderDepth{256};
|
||||
|
||||
std::size_t modbusMaxAdu{256};
|
||||
int modbusInterFrameTimeoutMs{0};
|
||||
};
|
||||
|
||||
struct EndpointFramingState;
|
||||
@@ -92,9 +93,11 @@ private:
|
||||
bool runStages234(PipelineContext& ctx);
|
||||
void ingestMergeItem(MergeItem item);
|
||||
|
||||
bool stage2Parser(PipelineContext& ctx);
|
||||
bool stage3Filter(PipelineContext& ctx);
|
||||
bool stage4Validator(PipelineContext& ctx);
|
||||
std::vector<softbus::core::models::DOMMessage> stage2Parser(const PipelineContext& ctx);
|
||||
bool stage3Filter(softbus::core::models::DOMMessage& message);
|
||||
bool stage4Validator(const softbus::core::models::DOMMessage& message) const;
|
||||
softbus::core::models::EnrichedMessage applyTransformAndEnrich(
|
||||
const PipelineContext& rawCtx, softbus::core::models::DOMMessage& message) const;
|
||||
|
||||
private:
|
||||
softbus::core::memory::LockFreeQueue<PipelineContext> m_ingressQ;
|
||||
@@ -110,6 +113,10 @@ private:
|
||||
std::shared_ptr<softbus::message_bus::pipeline::stages::framers::PassthroughFramer> m_passthroughFramer;
|
||||
std::mutex m_framerSessionMutex;
|
||||
QHash<QString, std::shared_ptr<softbus::core::plugin_system::IProtocolFramerSession>> m_framerSessions;
|
||||
std::mutex m_parserSessionMutex;
|
||||
QHash<QString, std::shared_ptr<softbus::core::plugin_system::IProtocolSession>> m_parserSessions;
|
||||
std::mutex m_mapperSessionMutex;
|
||||
QHash<QString, std::shared_ptr<softbus::core::plugin_system::IProtocolMapperSession>> m_mapperSessions;
|
||||
|
||||
std::mutex m_seqMutex;
|
||||
QHash<QString, std::uint64_t> m_nextFrameSeqByEndpoint;
|
||||
|
||||
Reference in New Issue
Block a user