mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
added management function to purge stale sessions in the management server
ndb/include/util/Bitmask.hpp: added bitXORC ndb/include/util/SocketServer.hpp: added method to apply function on each session ndb/src/common/util/SocketServer.cpp: added method to apply function on each session
This commit is contained in:
@ -104,6 +104,11 @@ public:
|
||||
*/
|
||||
static void bitXOR(unsigned size, Uint32 data[], const Uint32 data2[]);
|
||||
|
||||
/**
|
||||
* bitXORC - Bitwise (x ^ ~y) into first operand.
|
||||
*/
|
||||
static void bitXORC(unsigned size, Uint32 data[], const Uint32 data2[]);
|
||||
|
||||
/**
|
||||
* contains - Check if all bits set in data2 are set in data
|
||||
*/
|
||||
@ -261,6 +266,14 @@ BitmaskImpl::bitXOR(unsigned size, Uint32 data[], const Uint32 data2[])
|
||||
}
|
||||
}
|
||||
|
||||
inline void
|
||||
BitmaskImpl::bitXORC(unsigned size, Uint32 data[], const Uint32 data2[])
|
||||
{
|
||||
for (unsigned i = 0; i < size; i++) {
|
||||
data[i] ^= ~data2[i];
|
||||
}
|
||||
}
|
||||
|
||||
inline bool
|
||||
BitmaskImpl::contains(unsigned size, Uint32 data[], const Uint32 data2[])
|
||||
{
|
||||
@ -451,6 +464,12 @@ public:
|
||||
static void bitXOR(Uint32 data[], const Uint32 data2[]);
|
||||
BitmaskPOD<size>& bitXOR(const BitmaskPOD<size>& mask2);
|
||||
|
||||
/**
|
||||
* bitXORC - Bitwise (x ^ ~y) into first operand.
|
||||
*/
|
||||
static void bitXORC(Uint32 data[], const Uint32 data2[]);
|
||||
BitmaskPOD<size>& bitXORC(const BitmaskPOD<size>& mask2);
|
||||
|
||||
/**
|
||||
* contains - Check if all bits set in data2 (that) are also set in data (this)
|
||||
*/
|
||||
@ -712,6 +731,21 @@ BitmaskPOD<size>::bitXOR(const BitmaskPOD<size>& mask2)
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <unsigned size>
|
||||
inline void
|
||||
BitmaskPOD<size>::bitXORC(Uint32 data[], const Uint32 data2[])
|
||||
{
|
||||
BitmaskImpl::bitXORC(size,data, data2);
|
||||
}
|
||||
|
||||
template <unsigned size>
|
||||
inline BitmaskPOD<size>&
|
||||
BitmaskPOD<size>::bitXORC(const BitmaskPOD<size>& mask2)
|
||||
{
|
||||
BitmaskPOD<size>::bitXORC(rep.data, mask2.rep.data);
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <unsigned size>
|
||||
char *
|
||||
BitmaskPOD<size>::getText(const Uint32 data[], char* buf)
|
||||
|
Reference in New Issue
Block a user