HiveMindBridge
Classes
BytesAccumulator.h File Reference
#include <cstdint>
#include <vector>
Include dependency graph for BytesAccumulator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BytesAccumulator
 
HiveMindBridge::HiveMindBridge
HiveMindBridge(int tcpPort, ILogger &logger, uint32_t keepAliveNbSpin=0)
Definition: HiveMindBridge.cpp:3
IThreadSafeQueue::pop
virtual void pop()=0
DELAY_BRFORE_DROP_S
constexpr int DELAY_BRFORE_DROP_S
Definition: HiveMindBridgeImpl.h:26
OutboundRequestHandle::OutboundRequestHandle
OutboundRequestHandle(MessageDTO message)
Definition: OutboundRequestHandle.cpp:3
OutboundRequestHandle.h
InboundResponseHandle::m_responseStatus
GenericResponseStatusDTO m_responseStatus
Definition: InboundResponseHandle.h:33
HiveMindBridgeImpl::m_swarmAgentID
uint32_t m_swarmAgentID
Definition: HiveMindBridgeImpl.h:105
HiveMindHostApiResponseHandler::m_logger
ILogger & m_logger
Definition: HiveMindHostApiResponseHandler.h:26
InboundRequestHandle::setCallbackName
void setCallbackName(std::string name)
Definition: InboundRequestHandle.cpp:16
MessageHandler::handleMessage
std::variant< std::monostate, InboundRequestHandle, InboundResponseHandle > handleMessage(MessageDTO message) override
Definition: MessageHandler.cpp:14
UserCallbackFunctionWrapper::getManifest
CallbackArgsManifest getManifest()
Definition: UserCallbackFunctionWrapper.cpp:9
CallbackArgsManifest
std::vector< UserCallbackArgumentDescription > CallbackArgsManifest
Definition: Callback.h:11
HiveMindHostApiResponseHandler::onNeighborUpdated
bool onNeighborUpdated(std::function< void(uint16_t neighborId, std::optional< Position > position)> callback)
Definition: HiveMindHostApiResponseHandler.cpp:28
MessageUtils::createGreetMessage
MessageDTO createGreetMessage()
Definition: MessageUtils.cpp:100
HiveMindBridgeImpl::m_messageHandler
IMessageHandler & m_messageHandler
Definition: HiveMindBridgeImpl.h:94
UserCallbackArgumentDescription::getName
std::string getName()
Definition: UserCallbackArgumentDescription.cpp:9
HiveMindBridge::onDisconnect
void onDisconnect(std::function< void()> hook)
Definition: HiveMindBridge.cpp:28
HiveMindBridgeImpl::m_inboundThread
std::thread m_inboundThread
Definition: HiveMindBridgeImpl.h:97
MessageUtils::createBytesMessage
std::optional< MessageDTO > createBytesMessage(uint32_t msgSourceId, uint32_t msgDestinationId, uint32_t requestId, uint32_t byteReqId, uint32_t packetNumber, bool lastPacket, uint8_t *payload, uint16_t payloadLength)
Definition: MessageUtils.cpp:82
OutboundRequestHandle::m_delaySinceSent
int m_delaySinceSent
Definition: OutboundRequestHandle.h:30
HiveMindBridgeImpl::onBytesReceived
bool onBytesReceived(std::function< void(uint8_t *bytes, uint64_t bytesLength)> callback)
Definition: HiveMindBridgeImpl.cpp:115
THREAD_SLEEP_MS
constexpr int THREAD_SLEEP_MS
Definition: HiveMindBridgeImpl.h:25
InboundRequestHandle::m_msgSourceId
uint32_t m_msgSourceId
Definition: InboundRequestHandle.h:44
HiveMindBridgeImpl::m_outboundThread
std::thread m_outboundThread
Definition: HiveMindBridgeImpl.h:99
ITCPServer::isClientConnected
virtual bool isClientConnected()=0
UserCallbackMap::getManifestAt
std::optional< CallbackArgsManifest > getManifestAt(uint32_t index) override
Definition: UserCallbackMap.cpp:34
OutboundRequestHandle::m_state
OutboundRequestState m_state
Definition: OutboundRequestHandle.h:28
UserCallbackArgumentDescription::m_type
FunctionDescriptionArgumentTypeDTO m_type
Definition: UserCallbackArgumentDescription.h:19
BytesAccumulator::m_lastPacketNumber
uint32_t m_lastPacketNumber
Definition: BytesAccumulator.h:34
InboundRequestHandle::m_responseMessage
MessageDTO m_responseMessage
Definition: InboundRequestHandle.h:41
BytesAccumulator
Definition: BytesAccumulator.h:10
IUserCallbackMap
Definition: IUserCallbackMap.h:6
InboundRequestHandle::m_msgDestinationId
uint32_t m_msgDestinationId
Definition: InboundRequestHandle.h:45
UserCallbackMap::registerCallback
bool registerCallback(std::string name, CallbackFunction callback, CallbackArgsManifest manifest) override
Definition: UserCallbackMap.cpp:3
TCPServer::m_address
struct sockaddr_in m_address
Definition: TCPServer.h:73
IUserCallbackMap::registerCallback
virtual bool registerCallback(std::string name, CallbackFunction callback, CallbackArgsManifest manifest)=0
HiveMindHostApiResponseHandler::HiveMindHostApiResponseHandler
HiveMindHostApiResponseHandler(ILogger &logger)
Definition: HiveMindHostApiResponseHandler.cpp:3
HiveMindBridge::queueAndSend
bool queueAndSend(MessageDTO message)
Definition: HiveMindBridge.cpp:54
HiveMindHostApiResponseHandler::m_neighborUpdateCallback
std::function< void(uint16_t neighborId, std::optional< Position > position)> m_neighborUpdateCallback
Definition: HiveMindHostApiResponseHandler.h:31
HiveMindBridge::onBytesReceived
bool onBytesReceived(std::function< void(uint8_t *bytes, uint64_t bytesLength)> callback) override
Definition: HiveMindBridge.cpp:30
TCPServer::send
bool send(const uint8_t *data, uint16_t length) override
Definition: TCPServer.cpp:73
HiveMindHostApiRequestHandler::HiveMindHostApiRequestHandler
HiveMindHostApiRequestHandler(ILogger &logger)
Definition: HiveMindHostApiRequestHandler.cpp:3
InboundRequestHandle::getResponse
MessageDTO getResponse()
Definition: InboundRequestHandle.cpp:10
OutboundRequestHandle::getMessage
const MessageDTO & getMessage() const
Definition: OutboundRequestHandle.cpp:9
InboundResponseHandle::getResponseStatus
GenericResponseStatusDTO getResponseStatus() const
Definition: InboundResponseHandle.cpp:13
UserCallRequestHandler.h
HiveMindBridgeImpl::sendNeighborListUpdateRequest
bool sendNeighborListUpdateRequest()
Definition: HiveMindBridgeImpl.cpp:296
UserCallRequestHandler::handleMessage
std::variant< std::monostate, InboundRequestHandle, InboundResponseHandle > handleMessage(const MessageDTO &message, const UserCallRequestDTO &ucRequest)
Definition: UserCallRequestHandler.cpp:7
IThreadSafeQueue< MessageDTO >
UserCallbackArgumentDescription::m_name
std::string m_name
Definition: UserCallbackArgumentDescription.h:18
BytesAccumulator::appendBytes
bool appendBytes(uint8_t *bytes, uint16_t length, uint32_t packetNumber)
Definition: BytesAccumulator.cpp:4
TCPServer::init
void init()
Definition: TCPServer.cpp:14
IThreadSafeQueue::empty
virtual bool empty()=0
OutboundRequestState
OutboundRequestState
Definition: OutboundRequestHandle.h:6
MessageHandler::handleGreet
std::optional< uint32_t > handleGreet(MessageDTO greetMessage) override
Definition: MessageHandler.cpp:79
OutboundRequestHandle::getState
OutboundRequestState getState() const
Definition: OutboundRequestHandle.cpp:5
HiveMindHostApiRequestHandler.h
TCPServer::onConnect
void onConnect(std::function< void()> hook) override
Definition: TCPServer.cpp:86
TCPServer::m_onDisonnect
std::function< void()> m_onDisonnect
Definition: TCPServer.h:76
CallbackFunction
std::function< std::optional< CallbackReturn >CallbackArgs)> CallbackFunction
Definition: Callback.h:31
UserCallbackMap::getCallback
std::optional< CallbackFunction > getCallback(const std::string &name) override
Definition: UserCallbackMap.cpp:23
TCPServer::close
void close() override
Definition: TCPServer.cpp:77
HiveMindHostApiRequestHandler::m_logger
ILogger & m_logger
Definition: HiveMindHostApiRequestHandler.h:21
UserCallRequestHandler::m_logger
ILogger & m_logger
Definition: UserCallRequestHandler.h:21
InboundResponseHandle::setStatusDetails
void setStatusDetails(const std::string &mStatusDetails)
Definition: InboundResponseHandle.cpp:23
InboundResponseHandle::InboundResponseHandle
InboundResponseHandle()=default
InboundResponseHandle::m_responseId
uint32_t m_responseId
Definition: InboundResponseHandle.h:31
InboundResponseHandle::setResponseId
void setResponseId(uint32_t mResponseId)
Definition: InboundResponseHandle.cpp:11
HiveMindBridge::sendNeighborUpdateRequest
bool sendNeighborUpdateRequest(uint16_t neighborId)
Definition: HiveMindBridge.cpp:62
HiveMindBridgeImpl::m_inboundQueue
IThreadSafeQueue< MessageDTO > & m_inboundQueue
Definition: HiveMindBridgeImpl.h:96
UserCallbackFunctionWrapper::UserCallbackFunctionWrapper
UserCallbackFunctionWrapper()=default
MessageUtils::generateRandomId
uint32_t generateRandomId()
Definition: MessageUtils.cpp:102
InboundRequestHandle.h
HiveMindBridge::onNeighborListUpdated
bool onNeighborListUpdated(std::function< void(std::array< uint16_t, NEIGHBORS_MAX_SIZE >, uint64_t bytesLength)> callback)
Definition: HiveMindBridge.cpp:34
TCPServer::m_addressLength
int m_addressLength
Definition: TCPServer.h:72
HiveMindBridge::onNeighborUpdated
bool onNeighborUpdated(std::function< void(uint16_t neighborId, std::optional< Position > position)> callback)
Definition: HiveMindBridge.cpp:39
HiveMindBridgeImpl::queueAndSend
bool queueAndSend(MessageDTO message)
Definition: HiveMindBridgeImpl.cpp:130
Position::inLOS
bool inLOS
Definition: IHiveMindHostApiResponseHandler.h:10
MessageUtils::createResponseMessage
MessageDTO createResponseMessage(uint32_t responseId, uint32_t msgSourceId, uint32_t msgDestinationId, UserCallTargetDTO moduleDestination, GenericResponseStatusDTO status, const std::string &ackMessage)
Definition: MessageUtils.cpp:3
ITCPServer
Definition: ITCPServer.h:7
UserCallRequestHandler::handleFunctionListLengthRequest
FunctionListLengthResponseDTO handleFunctionListLengthRequest(MessageDTO message, FunctionListLengthRequestDTO fcRequest)
Definition: UserCallRequestHandler.cpp:50
UserCallbackMap::m_callbackNames
std::vector< std::string > m_callbackNames
Definition: UserCallbackMap.h:26
BytesAccumulator::getBytes
std::vector< uint8_t > * getBytes()
Definition: BytesAccumulator.cpp:19
UserCallbackFunctionWrapper
Definition: UserCallbackFunctionWrapper.h:11
IHiveMindHostApiResponseHandler
Definition: IHiveMindHostApiResponseHandler.h:15
InboundResponseHandle::setResponseStatus
void setResponseStatus(GenericResponseStatusDTO mResponseStatus)
Definition: InboundResponseHandle.cpp:17
HiveMindBridgeImpl::outboundThread
void outboundThread()
Definition: HiveMindBridgeImpl.cpp:188
IUserCallbackMap::getLength
virtual uint32_t getLength()=0
HiveMindBridgeImpl::m_keepAliveNbSpin
const uint32_t m_keepAliveNbSpin
Definition: HiveMindBridgeImpl.h:106
TCPServer::receive
bool receive(uint8_t *data, uint16_t length) override
Definition: TCPServer.cpp:58
InboundRequestHandle::getCallbackReturnContext
std::shared_future< std::optional< CallbackReturn > > getCallbackReturnContext()
Definition: InboundRequestHandle.cpp:12
OutboundRequestHandle::m_message
MessageDTO m_message
Definition: OutboundRequestHandle.h:29
OutboundRequestHandle::setMessage
void setMessage(const MessageDTO &mMessage)
Definition: OutboundRequestHandle.cpp:11
HiveMindBridgeImpl::m_deserializer
IHiveMindHostDeserializer & m_deserializer
Definition: HiveMindBridgeImpl.h:88
IThreadSafeQueue::push
virtual void push(const T &item)=0
HiveMindBridgeImpl::sendBytes
bool sendBytes(uint32_t destinationId, const uint8_t *const payload, uint16_t payloadSize)
Definition: HiveMindBridgeImpl.cpp:140
HiveMindHostApiResponseHandler::handleNeighbor
void handleNeighbor(const MessageDTO &message, const GetNeighborResponseDTO &neighbor)
Definition: HiveMindHostApiResponseHandler.cpp:50
OutboundRequestHandle
Definition: OutboundRequestHandle.h:8
IThreadSafeQueue::front
virtual T front()=0
IUserCallbackMap::getManifestAt
virtual std::optional< CallbackArgsManifest > getManifestAt(uint32_t index)=0
Position::azimuth
float azimuth
Definition: IHiveMindHostApiResponseHandler.h:9
InboundRequestHandle
Definition: InboundRequestHandle.h:13
MessageHandler::m_userCallRequestHandler
IUserCallRequestHandler & m_userCallRequestHandler
Definition: MessageHandler.h:30
UserCallRequestHandler::handleFunctionDescriptionRequest
FunctionDescriptionResponseDTO handleFunctionDescriptionRequest(MessageDTO message, FunctionDescriptionRequestDTO fcRequest)
Definition: UserCallRequestHandler.cpp:58
InboundResponseHandle::getResponseId
uint32_t getResponseId() const
Definition: InboundResponseHandle.cpp:9
TCPServer::listen
void listen()
Definition: TCPServer.cpp:39
TCPServer::m_port
int m_port
Definition: TCPServer.h:71
MessageUtils.h
HiveMindBridgeImpl.h
UserCallbackArgumentDescription::getType
FunctionDescriptionArgumentTypeDTO getType()
Definition: UserCallbackArgumentDescription.cpp:11
CallbackArgs
std::vector< FunctionCallArgumentDTO > CallbackArgs
Definition: Callback.h:9
TCPServer::TCPServer
TCPServer(int port, ILogger &logger)
Definition: TCPServer.cpp:3
HiveMindBridgeImpl::sendNeighborUpdateRequest
bool sendNeighborUpdateRequest(uint16_t neighborId)
Definition: HiveMindBridgeImpl.cpp:287
HiveMindBridgeImpl::m_inboundResponsesMap
std::unordered_map< uint32_t, InboundResponseHandle > m_inboundResponsesMap
Definition: HiveMindBridgeImpl.h:103
TCPServer::~TCPServer
~TCPServer()
Definition: TCPServer.cpp:9
UserCallRequestHandler::handleFunctionCallRequest
FunctionCallResponseDTO handleFunctionCallRequest(MessageDTO message, FunctionCallRequestDTO fcRequest, InboundRequestHandle *result)
Definition: UserCallRequestHandler.cpp:82
HiveMindBridgeImpl::getSwarmAgentId
uint32_t getSwarmAgentId() const
Definition: HiveMindBridgeImpl.cpp:175
HiveMindBridgeImpl::registerCustomAction
bool registerCustomAction(std::string name, CallbackFunction callback, CallbackArgsManifest manifest)
Definition: HiveMindBridgeImpl.cpp:119
IUserCallRequestHandler::handleMessage
virtual std::variant< std::monostate, InboundRequestHandle, InboundResponseHandle > handleMessage(const MessageDTO &message, const UserCallRequestDTO &ucRequest)=0
OutboundRequestState::SENT
@ SENT
HiveMindBridge::registerCustomAction
bool registerCustomAction(std::string name, CallbackFunction callback, CallbackArgsManifest manifest)
Definition: HiveMindBridge.cpp:44
InboundResponseHandle
Definition: InboundResponseHandle.h:10
InboundRequestHandle::setSourceModule
void setSourceModule(UserCallTargetDTO target)
Definition: InboundRequestHandle.cpp:22
HiveMindBridgeImpl::m_mutex
std::mutex m_mutex
Definition: HiveMindBridgeImpl.h:100
MessageUtils::createFunctionListLengthResponseMessage
MessageDTO createFunctionListLengthResponseMessage(uint32_t responseId, uint32_t msgSourceId, uint32_t msgDestinationId, UserCallTargetDTO moduleDestination, uint32_t length)
Definition: MessageUtils.cpp:18
HiveMindHostApiResponseHandler.h
HiveMindBridgeImpl::m_inboundRequestsQueue
std::deque< InboundRequestHandle > m_inboundRequestsQueue
Definition: HiveMindBridgeImpl.h:102
BytesAccumulator::m_bytes
std::vector< uint8_t > m_bytes
Definition: BytesAccumulator.h:33
HiveMindBridgeImpl::m_userCallbackMap
IUserCallbackMap & m_userCallbackMap
Definition: HiveMindBridgeImpl.h:93
HiveMindBridgeImpl::isTCPClientConnected
bool isTCPClientConnected()
Definition: HiveMindBridgeImpl.cpp:235
InboundRequestHandle::setMessageDestinationId
void setMessageDestinationId(uint32_t id)
Definition: InboundRequestHandle.cpp:20
ITCPServer::onDisconnect
virtual void onDisconnect(std::function< void()> hook)=0
TCPServer::m_clientFd
int m_clientFd
Definition: TCPServer.h:71
HiveMindHostApiResponseHandler::onNeighborListUpdated
bool onNeighborListUpdated(std::function< void(std::array< uint16_t, NEIGHBORS_MAX_SIZE >, uint64_t bytesLength)> callback)
Definition: HiveMindHostApiResponseHandler.cpp:19
UserCallbackMap.h
InboundRequestHandle::m_callbackReturnContext
std::shared_future< std::optional< CallbackReturn > > m_callbackReturnContext
Definition: InboundRequestHandle.h:42
Position::distance
float distance
Definition: IHiveMindHostApiResponseHandler.h:8
TCPServer::m_onConnect
std::function< void()> m_onConnect
Definition: TCPServer.h:75
HiveMindBridgeImpl::greet
bool greet()
Definition: HiveMindBridgeImpl.cpp:268
MessageHandler::m_hmRequestHandler
IHiveMindHostRequestHandler & m_hmRequestHandler
Definition: MessageHandler.h:28
HiveMindBridgeImpl::m_logger
ILogger & m_logger
Definition: HiveMindBridgeImpl.h:85
InboundRequestHandle::m_sourceModule
UserCallTargetDTO m_sourceModule
Definition: InboundRequestHandle.h:46
HiveMindBridgeImpl::m_tcpServer
ITCPServer & m_tcpServer
Definition: HiveMindBridgeImpl.h:87
OutboundRequestState::READY
@ READY
HiveMindHostApiRequestHandler::onBytesReceived
bool onBytesReceived(std::function< void(uint8_t *bytes, uint64_t bytesLength)> callback) override
Definition: HiveMindHostApiRequestHandler.cpp:15
HiveMindBridge::onConnect
void onConnect(std::function< void()> hook)
Definition: HiveMindBridge.cpp:26
IHiveMindHostRequestHandler
Definition: IHiveMindHostApiRequestHandler.h:8
InboundRequestHandle::setMessageSourceId
void setMessageSourceId(uint32_t id)
Definition: InboundRequestHandle.cpp:18
InboundRequestHandle::m_callbackName
std::string m_callbackName
Definition: InboundRequestHandle.h:40
UserCallbackFunctionWrapper::m_function
CallbackFunction m_function
Definition: UserCallbackFunctionWrapper.h:22
UserCallbackMap::getLength
uint32_t getLength() override
Definition: UserCallbackMap.cpp:32
HiveMindBridgeImpl::m_hmRequestHandler
IHiveMindHostRequestHandler & m_hmRequestHandler
Definition: HiveMindBridgeImpl.h:91
UserCallbackArgumentDescription::UserCallbackArgumentDescription
UserCallbackArgumentDescription()=default
HiveMindHostApiRequestHandler::handleBytes
void handleBytes(const MessageDTO &message, const BytesDTO &bytes)
Definition: HiveMindHostApiRequestHandler.cpp:27
HiveMindHostApiRequestHandler::handleMessage
void handleMessage(const MessageDTO &message, const HiveMindHostApiRequestDTO &hmRequest) override
Definition: HiveMindHostApiRequestHandler.cpp:5
BytesAccumulator::getLastPacketNumber
uint32_t getLastPacketNumber() const
Definition: BytesAccumulator.cpp:21
TCPServer::isClientConnected
bool isClientConnected() override
Definition: TCPServer.cpp:84
MessageHandler::m_logger
ILogger & m_logger
Definition: MessageHandler.h:27
HiveMindBridgeImpl::spin
void spin()
Definition: HiveMindBridgeImpl.cpp:40
HiveMindBridgeImpl::m_keepAliveCounter
uint32_t m_keepAliveCounter
Definition: HiveMindBridgeImpl.h:107
ITCPServer::listen
virtual void listen()=0
UserCallbackMap::m_callbacks
CallbackMap m_callbacks
Definition: UserCallbackMap.h:25
InboundRequestHandle::getMessageSourceId
uint32_t getMessageSourceId() const
Definition: InboundRequestHandle.cpp:24
HiveMindBridge::m_bridge
HiveMindBridgeImpl m_bridge
Definition: HiveMindBridge.h:73
UserCallbackMap::getNameAt
std::optional< std::string > getNameAt(uint32_t index) override
Definition: UserCallbackMap.cpp:47
MessageUtils::createFunctionDescriptionResponseMessage
MessageDTO createFunctionDescriptionResponseMessage(uint32_t responseId, uint32_t msgSourceId, uint32_t msgDestinationId, UserCallTargetDTO moduleDestination, FunctionDescriptionDTO functionDescription)
Definition: MessageUtils.cpp:34
BytesAccumulator.h
HiveMindHostApiRequestHandler::m_bytesReceivedCallback
std::function< void(uint8_t *bytes, uint64_t bytesLength)> m_bytesReceivedCallback
Definition: HiveMindHostApiRequestHandler.h:24
HiveMindBridge::sendBytes
bool sendBytes(uint32_t destinationId, const uint8_t *const payload, uint16_t payloadSize)
Definition: HiveMindBridge.cpp:56
MessageHandler::m_hmResponseHandler
IHiveMindHostApiResponseHandler & m_hmResponseHandler
Definition: MessageHandler.h:29
IUserCallbackMap::getNameAt
virtual std::optional< std::string > getNameAt(uint32_t index)=0
TCPServer::m_logger
ILogger & m_logger
Definition: TCPServer.h:70
HiveMindHostApiResponseHandler::m_neighborListUpdateCallback
std::function< void(std::array< uint16_t, NEIGHBORS_MAX_SIZE >, uint64_t bytesLength)> m_neighborListUpdateCallback
Definition: HiveMindHostApiResponseHandler.h:29
HiveMindBridge::sendNeighborListUpdateRequest
bool sendNeighborListUpdateRequest()
Definition: HiveMindBridge.cpp:66
HiveMindBridgeImpl::onDisconnect
void onDisconnect(std::function< void()> hook)
Definition: HiveMindBridgeImpl.cpp:111
IMessageHandler::handleGreet
virtual std::optional< uint32_t > handleGreet(MessageDTO greetMessage)=0
OutboundRequestHandle::setState
void setState(OutboundRequestState mState)
Definition: OutboundRequestHandle.cpp:7
HiveMindBridgeImpl::m_serializer
IHiveMindHostSerializer & m_serializer
Definition: HiveMindBridgeImpl.h:89
UserCallbackFunctionWrapper.h
HiveMindBridgeImpl::sendReturn
void sendReturn(InboundRequestHandle &result)
Definition: HiveMindBridgeImpl.cpp:240
InboundRequestHandle::getSourceModule
UserCallTargetDTO getSourceModule() const
Definition: InboundRequestHandle.cpp:28
HiveMindBridge::spin
void spin()
Definition: HiveMindBridge.cpp:24
HiveMindHostApiRequestHandler::m_bytesAccumulatorMap
std::map< uint32_t, BytesAccumulator > m_bytesAccumulatorMap
Definition: HiveMindHostApiRequestHandler.h:22
InboundResponseHandle::m_statusDetails
std::string m_statusDetails
Definition: InboundResponseHandle.h:34
InboundRequestHandle::setCallbackReturnContext
void setCallbackReturnContext(std::shared_future< std::optional< CallbackReturn >> future)
Definition: InboundRequestHandle.cpp:5
MessageHandler::MessageHandler
MessageHandler(ILogger &logger, IUserCallRequestHandler &userCallRequestManager, IHiveMindHostRequestHandler &hmRequestHandler, IHiveMindHostApiResponseHandler &hmResponseHandler)
Definition: MessageHandler.cpp:4
UserCallbackArgumentDescription.h
MessageHandler.h
IHiveMindHostRequestHandler::onBytesReceived
virtual bool onBytesReceived(std::function< void(uint8_t *bytes, uint64_t bytesLength)> callback)=0
IMessageHandler::handleMessage
virtual std::variant< std::monostate, InboundRequestHandle, InboundResponseHandle > handleMessage(MessageDTO message)=0
HiveMindBridge::m_hmResponseHandler
HiveMindHostApiResponseHandler m_hmResponseHandler
Definition: HiveMindBridge.h:69
TCPServer::onDisconnect
void onDisconnect(std::function< void()> hook) override
Definition: TCPServer.cpp:88
InboundResponseHandle.h
UserCallRequestHandler::m_callbackMap
IUserCallbackMap & m_callbackMap
Definition: UserCallRequestHandler.h:22
InboundRequestHandle::getMessageDestinationId
uint32_t getMessageDestinationId() const
Definition: InboundRequestHandle.cpp:26
UserCallbackFunctionWrapper::m_manifest
CallbackArgsManifest m_manifest
Definition: UserCallbackFunctionWrapper.h:23
IUserCallbackMap::getCallback
virtual std::optional< CallbackFunction > getCallback(const std::string &name)=0
TCPServer::m_serverFd
int m_serverFd
Definition: TCPServer.h:71
TCPServer.h
HiveMindBridgeImpl::inboundThread
void inboundThread()
Definition: HiveMindBridgeImpl.cpp:177
InboundRequestHandle::setResponse
void setResponse(MessageDTO message)
Definition: InboundRequestHandle.cpp:3
UserCallRequestHandler::callbackWrapper
std::optional< CallbackReturn > callbackWrapper(const CallbackArgs &args, const std::string &functionName)
Definition: UserCallRequestHandler.cpp:108
Position
Definition: IHiveMindHostApiResponseHandler.h:7
IHiveMindHostApiResponseHandler::handleMessage
virtual void handleMessage(const MessageDTO &message, const HiveMindHostApiResponseDTO &hmResponse)=0
InboundResponseHandle::getStatusDetails
std::string getStatusDetails() const
Definition: InboundResponseHandle.cpp:21
HiveMindBridgeImpl::m_outboundQueue
IThreadSafeQueue< OutboundRequestHandle > & m_outboundQueue
Definition: HiveMindBridgeImpl.h:98
IUserCallRequestHandler
Definition: IUserCallRequestHandler.h:7
ITCPServer::close
virtual void close()=0
MessageUtils::createFunctionCallRequest
MessageDTO createFunctionCallRequest(uint32_t msgSourceId, uint32_t msgDestinationId, uint32_t requestId, UserCallTargetDTO moduleDestination, const std::string &callbackName, const CallbackArgs &args)
Definition: MessageUtils.cpp:50
HiveMindBridgeImpl::~HiveMindBridgeImpl
~HiveMindBridgeImpl()
Definition: HiveMindBridgeImpl.cpp:28
HiveMindHostApiResponseHandler::handleMessage
void handleMessage(const MessageDTO &message, const HiveMindHostApiResponseDTO &hmResponse) override
Definition: HiveMindHostApiResponseHandler.cpp:6
IHiveMindHostRequestHandler::handleMessage
virtual void handleMessage(const MessageDTO &message, const HiveMindHostApiRequestDTO &hmRequest)=0
TCPServer::m_isClientConnected
bool m_isClientConnected
Definition: TCPServer.h:74
UserCallRequestHandler::UserCallRequestHandler
UserCallRequestHandler(ILogger &logger, IUserCallbackMap &callbackMap)
Definition: UserCallRequestHandler.cpp:3
UserCallbackFunctionWrapper::getFunction
CallbackFunction getFunction()
Definition: UserCallbackFunctionWrapper.cpp:7
ITCPServer::onConnect
virtual void onConnect(std::function< void()> hook)=0
OutboundRequestHandle::bumpDelaySinceSent
int bumpDelaySinceSent(int bumpValue)
Definition: OutboundRequestHandle.cpp:13
HiveMindBridgeImpl::onConnect
void onConnect(std::function< void()> hook)
Definition: HiveMindBridgeImpl.cpp:107
HiveMindBridgeImpl::HiveMindBridgeImpl
HiveMindBridgeImpl(ITCPServer &tcpServer, IHiveMindHostSerializer &serializer, IHiveMindHostDeserializer &deserializer, IUserCallRequestHandler &userCallRequestManager, IHiveMindHostRequestHandler &hmRequestHandler, IUserCallbackMap &userCallbackMap, IMessageHandler &messageHandler, IThreadSafeQueue< MessageDTO > &inboundQueue, IThreadSafeQueue< OutboundRequestHandle > &outboundQueue, ILogger &logger, uint32_t keepAliveNbSpin)
Definition: HiveMindBridgeImpl.cpp:5
IMessageHandler
Definition: IMessageHandler.h:17
HiveMindHostApiResponseHandler::handleNeighborList
void handleNeighborList(const MessageDTO &message, const GetNeighborsListResponseDTO &list)
Definition: HiveMindHostApiResponseHandler.cpp:37
HiveMindBridge.h