mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e484bf4578 | ||
|
b442483dc3 | ||
|
727a709aff |
@@ -536,12 +536,14 @@ class Device
|
||||
|
||||
/// @brief Returns name of the given state as a string
|
||||
/// @param state state
|
||||
static std::string GetStateName(const State state) { return GetStateName(state); }
|
||||
[[deprecated("Use fair::mq::GetStateName from <fairmq/States.h> directly")]]
|
||||
static std::string GetStateName(const State state) { return fair::mq::GetStateName(state); }
|
||||
/// @brief Returns name of the given transition as a string
|
||||
/// @param transition transition
|
||||
[[deprecated("Use fair::mq::GetTransitionName from <fairmq/States.h> directly")]]
|
||||
static std::string GetTransitionName(const Transition transition)
|
||||
{
|
||||
return GetTransitionName(transition);
|
||||
return fair::mq::GetTransitionName(transition);
|
||||
}
|
||||
|
||||
static constexpr const char* DefaultId = "";
|
||||
|
@@ -88,6 +88,11 @@ struct ShmHeader
|
||||
return HdrPtr(ptr)->refCount;
|
||||
}
|
||||
|
||||
static uint16_t UserOffset(char* ptr)
|
||||
{
|
||||
return HdrPartSize() + HdrPtr(ptr)->userOffset;
|
||||
}
|
||||
|
||||
static char* UserPtr(char* ptr)
|
||||
{
|
||||
// [HdrOffset(uint16_t)][Hdr alignment][Hdr][user buffer alignment][user buffer]
|
||||
|
@@ -217,7 +217,9 @@ class Message final : public fair::mq::Message
|
||||
} else if (newSize <= fMeta.fSize) {
|
||||
try {
|
||||
try {
|
||||
char* ptr = fManager.ShrinkInPlace(newSize, fManager.GetAddressFromHandle(fMeta.fHandle, fMeta.fSegmentId), fMeta.fSegmentId);
|
||||
char* oldPtr = fManager.GetAddressFromHandle(fMeta.fHandle, fMeta.fSegmentId);
|
||||
uint16_t userOffset = ShmHeader::UserOffset(oldPtr);
|
||||
char* ptr = fManager.ShrinkInPlace(userOffset + newSize, oldPtr, fMeta.fSegmentId);
|
||||
fLocalPtr = ShmHeader::UserPtr(ptr);
|
||||
fMeta.fSize = newSize;
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user