You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-5166 This patch adds support for in-memory communication b/w EM to PP via a shared queue in DEC class
JobList low-level code relateod to primitive jobs now uses shared pointers instead of ByteStream refs talking to DEC b/c same-node EM-PP communication now goes over a queue in DEC instead of a network hop. PP now has a separate thread that processes the primitive job messages from that DEC queue.
This commit is contained in:
committed by
Leonid Fedorov
parent
9ef16c6ded
commit
a9d8924683
@ -275,6 +275,7 @@ class MessageQueueClient
|
||||
* @brief compare the addresses of 2 MessageQueueClient
|
||||
*/
|
||||
inline bool isSameAddr(const MessageQueueClient& rhs) const;
|
||||
inline bool isSameAddr(const struct in_addr& ipv4Addr) const;
|
||||
|
||||
bool isConnected()
|
||||
{
|
||||
@ -285,6 +286,17 @@ class MessageQueueClient
|
||||
{
|
||||
return fClientSock.hasData();
|
||||
}
|
||||
|
||||
// This client's flag is set running DEC::Setup() call
|
||||
bool atTheSameHost() const
|
||||
{
|
||||
return atTheSameHost_;
|
||||
}
|
||||
|
||||
void atTheSameHost(const bool atTheSameHost)
|
||||
{
|
||||
atTheSameHost_ = atTheSameHost;
|
||||
}
|
||||
/*
|
||||
* allow test suite access to private data for OOB test
|
||||
*/
|
||||
@ -312,6 +324,7 @@ class MessageQueueClient
|
||||
mutable IOSocket fClientSock; /// the socket to communicate with the server
|
||||
mutable logging::Logger fLogger;
|
||||
bool fIsAvailable;
|
||||
bool atTheSameHost_;
|
||||
std::string fModuleName;
|
||||
};
|
||||
|
||||
@ -327,6 +340,10 @@ inline bool MessageQueueClient::isSameAddr(const MessageQueueClient& rhs) const
|
||||
{
|
||||
return fClientSock.isSameAddr(&rhs.fClientSock);
|
||||
}
|
||||
inline bool MessageQueueClient::isSameAddr(const struct in_addr& ipv4Addr) const
|
||||
{
|
||||
return fClientSock.isSameAddr(ipv4Addr);
|
||||
}
|
||||
inline void MessageQueueClient::syncProto(bool use)
|
||||
{
|
||||
fClientSock.syncProto(use);
|
||||
@ -335,4 +352,3 @@ inline void MessageQueueClient::syncProto(bool use)
|
||||
} // namespace messageqcpp
|
||||
|
||||
#undef EXPORT
|
||||
|
||||
|
Reference in New Issue
Block a user