C++ Message Queuing Library and Framework
Full Changelog: https://github.com/FairRootGroup/FairMQ/compare/v1.4.53...v1.4.54
Full Changelog: https://github.com/FairRootGroup/FairMQ/compare/v1.4.52...v1.4.53
Full Changelog: https://github.com/FairRootGroup/FairMQ/compare/v1.4.51...v1.4.52
nullptr
check on segmentInfo to Monitor::ResetContent()
by @rbx in #429Monitor::ResetContent()
: Reset user data after recreating the management segment, to avoid bumping into locked interprocess locks. by @rbx in #429Monitor::Cleanup()
: open management data as read only, to avoid bumping into locked interprocess locks. We only read the segmentInfo/regionInfo (read-only) to find out which segments are present and delete everything unconditionally in the next step. by @rbx in #429Full Changelog: https://github.com/FairRootGroup/FairMQ/compare/v1.4.50...v1.4.51
The v1.4
milestone is now three years in the making and would not have been possible without the invaluable discussions, feedback and contributions by the members of the AliceO2 team!
v1.3
: Split INITIALIZING
state into Init+Bind+Connect, removed PAUSE
state, see updated diagram
New release procedure: Starting with v1.5.0
FairMQ adopts a semantic versioning release procedure. This basically means that FairMQ will make more use of its major and minor version components as well as ship release notes on every release. In addition, releases are no longer distinguished into testing or stable categories.
v1.4.50
- 2022-03-21--max-run-time
option (5d45d8926)dds_plugin
, sdk
, sdk_commands
(b7474ae13)SIGINT
and SIGTERM
in more places (#421)v1.4.49
- 2022-02-28fRegions
(intra-process) (29827f042)v1.4.48
- 2022-02-02monitor::ResetContent
to cleanup after a crash (1a75141fc)v1.4.47
- 2022-01-28[[maybe_unused]]
for values used in assertions (f15f66985)v1.4.46
- 2022-01-13v1.4.45
- 2022-01-10v1.4.44
- 2021-12-17Device::GetNumSubChannels(channel)
(a3bb5fb4b)tools/Exceptions.h
(856780f88)v1.4.43
- 2021-10-19GetConstant()
(7329cb442)Message::Close
because it is really a dtor (b8503bfbd)assertm
macro (8796ce5b2)GetNumberOfConnectedPeers()
API (fda8126a4)v1.4.42
- 2021-09-20-Winfinite-recursion
(727a709af)SetUsedSize()
(e484bf457)v1.4.41
- 2021-09-07<FairMQ*.h>
headers will be deprecated in the future. Use <fairmq/*.h>
instead!::FairMQ*
typenames will be deprecated in the future. Use fair::mq::*
instead!fairmq-tidy
tool (db727092c, dff2b4b7d)DISABLE_COLOR
(d392f60c0)fairmq-tidy
on our own codebase when RUN_FAIRMQ_TIDY=ON
(24fbf9494)v1.4.40
- 2021-07-30v1.4.39
- 2021-07-163.5.13.7
(1df338b26)--shm-mlock-segment-on-creation
option (a6193a380)--shm-zero-segment-on-creation
option (03ba9eb55)GetEnabledTransports()
(e3d3be888)<fairmq/FwdDecls.h>
(479d6e071)TransportError
if could not lock region (a8bdb9116)v1.18.1
(d15bc17b1)target_compile_features()
(7616b0b0a, 42606f9f1)codemeta.json
(947c4a73a)codemeta_update.py
(415232b56)BUILD_TESTING
(f413aa197)sdk/test_topo.xml
to something less confusing (08d72d492)v1.4.38
- 2021-05-20v1.4.37
- 2021-05-07v1.4.36
- 2021-05-07GetData
(f7ba3052a)operator<<
for fair::mq::Transport
(ed2dcedf0)GetType()
to UnmanagedRegion
(9defa7162)-Wunused-result
(a90dbf64d)v1.4.35
- 2021-04-08<boost/filesystem>
on GCC 7 (ea9aede65)v1.4.34
- 2021-04-08<fairmq/Device.h>
(cef6d0afc)<fairmq/runDevice.h>
(978191fa6)FAIRMQ_SHMMONITOR_VERBOSE
is true (9144258b8)StrStartsWith
, StrEndsWith
(2602f5358)--list-all
(5facc441b, f3bc9e05a)v1.4.33
- 2021-03-23--channel-config
(ce4584b3d, cb4335e59)shmId
also available as uint64_t
(edbdc5733)--shm-no-cleanup
option (c8ad684b1)OnData
callback (fc2241ece)v1.4.32
- 2021-03-02FairMQSink
(bbc1dd460)--channel-config
args (832781094)v1.4.31
- 2021-02-19v1.4.30
- 2021-02-10v1.4.29
- 2021-01-25fair::mq::Device
(ea746b17d):
void Pause()
bool ChangeState(int)
void WaitForEndOfState(fair::mq::Transition)
void WaitForEndOfState(const std::string&)
bool CheckCurrentState(int)
bool CheckCurrentState(const std::string&)
TransferResult
to TransferCode
(29f45fa77)tools::make_unique
with std::make_unique
(751c53171)FAIRMQ_SEVERITY
env var for severity (749d28a3b)shmem::Message::SetUsedSize(0)
(c6b13cd3a)v1.4.28
- 2020-12-04v1.4.27
- 2020-11-25int64_t
(bb1ce794b)3.5.3
(multiple sessions support) (0806720f6)EXIT_FAILURE
on errors (a14502242)-Wrange-loop-analysis
(e39d17d09)1.18.0
(9e2373b55)v1.4.26
- 2020-10-21ResetChannel()
with Invalidate()
(cf004f69b)DDSSession
(f14f50758)v1.4.25
- 2020-09-23ofi::Socket
(1b30f3ac1)v1.4.24
- 2020-09-22Cpp17MoveInsertable
issue on xcode 12 (35c7959c5)v1.4.23
- 2020-09-08fairmq-dds-command-ui
to SDK (2ac27905e)Monitor::GetDebugInfo()
(72a45f78b)v1.4.22
- 2020-08-28now()
when allocating message (62ed4e5f8)1.6
(be8ab06cc)-v
(non-interactive) (b0f73017e)v1.4.21
- 2020-07-15ZMQ_EVENTS
from socket backend (e8cc10434, ba3a82b1d, bf909f94d)Undefined
and Mixed
state for use in SDK (a6da208e7)v1.4.20
- 2020-06-30fair::mq::shmem::Monitor::Cleanup()
API (539e5602a)out_of_range
when locating RegionInfo
(812548977)-Og
flag to Debug build (9e2a00294)v1.4.19
- 2020-06-05ZMQ_FD
(dd47b34e0)GetData
of an empty message return nullptr
(79ca436b7)v1.4.18
- 2020-05-25SIGTERM
as well (02692e700, ea7ae0402)v1.4.17
- 2020-05-20exit()
s with exceptions (b56e32eb1)SIGTERM
as abort (20544e1f1)v1.4.16
- 2020-05-11bool FairMQTransportFactory::SubscribedToRegionEvents()
(c8fc5ad33)FairMQTransportFactory::GetId()
(e9318dd23)v1.4.15
- 2020-05-05v1.4.14
- 2020-04-28ChangeState
(adc4688f9)SubscriptionHeartbeat
command (330687772)v1.4.13
- 2020-03-24DDSTopology::GetTasks()
(50dacbcdd)StateChangeOp
and add path parameter (a20ac7af0)DDSSession::SendCommand
(f42945b3a)DDSTopology::GetTasksMatchingPath
(25658370f)Topology::AsyncSetProperties
(1c8ad03f3)Topology::AsyncGetProperties
(264a17842)Set/GetProperties
(92af82313)DYLD_LIBRARY_PATH
from parent env in sdk::DDSEnv
(3785fd9ff)WaitForState()
(119cbe37f)v1.4.12
- 2020-01-16v1.4.11
- 2019-12-133.0
(50be38619)10.0.1
support with Boost.Asio <= 1.68
(4d1e7b9cd)[-Wunused-variable]
(f195eeac6)v1.4.10
- 2019-12-09TransitionTo
from plugin APIs (0f4595b8c)2.5.100
(f31be6d7a)v1.4.9
- 2019-11-17TryChangeStateCompletion
(44bfbe02e)count_if
(47d9e282d)FairMQDevice
(9d30ff25c):
int SendAsync(FairMQMessagePtr&, const std::string&, int)
int ReceiveAsync(FairMQMessagePtr&, const std::string&, int)
int64_t SendAsync(FairMQParts&, const std::string&, int)
int64_t ReceiveAsync(FairMQParts&, const std::string&, int)
void WaitForInitialValidation()
DDSCollection
class (456b65871)DDSTopology::GetCollections()
and extend DDSTask
(e1b6b804b, 2973ce035)sdk::GroupByCollectionId(TopologyState)
(acbf57d6f, 870d0deae)sdk:GroupByTaskId(TopologyState)
(4b78c472b)REQUIRES
in fairmq_build_option
(ea9ad6466)ENABLE_CCACHE
(71325828f)v1.4.8
- 2019-09-04DDSTask
type, remove unused member (8feffe70b)2.5.46
and support new Tools API (eaa8f5cbd, 33b5a2a34, 0e5f648d2)3.11
and bundle asio 1.13.0
(1dec05910)Topology
with asio-compliant async interface (7a0d348bd)IDLE->EXITING
state-change to be acknowledged (8a2c7fb60)-Wdefaulted-function-deleted
(0d182dc18)2.5.25+
CLI (7f0237d97)--graphviz
(3f5374820)v1.4.7
- 2019-07-29v1.4.6
- 2019-07-26*Async()
methods (73ccefa4c)FairMQProgOptions
(f46803a8b)a-zA-Z0-9-_[]#
as channel name characters (3db32b03d)Channel::GetChannelX()
in favor of Channel::GetX()
(3538d9f41)-DBUILD_SDK
(3da5f4d5d, fd682c339, 1a93da5be, 90496c89f, cfcdd666b, 53be96d93, 44da054e7, b5da31498, eb9dcdd1f, a9b478875, 7aa95fcd9, 5a7bf68c8, 152c8431c, 8aad6c062, b58f6ede7, 18dc536f3, cf26dd6aa, 8789664cf, be022cfab, bc98ab1ee, a93840b24, d70a20344, 388b1be05, dc5527231, 5d535163f, ac8cd1991, 5ab328b01, 363576496, 377eaf2bb, 6208cbb50, 98aeb16dc):
2.5.20
(de4fca177)--control external
(f7cdf5ee2)<fairmq/SDK.h>
(3f655e330)fairmq/ProgOptions
:
GetProperties()
(5646d531f)*Property
methods to replace *Value
methods, simplify options helper (fe241fe9e)SetProperties()
(29313bbec)DeleteProperty()
(4ce378b6b)UpdateProperty/ies()
(7c9744760)DeviceRunner
for config properties (4281d7b27)PluginServices::DeleteProperty
(7bea2bc0e)fairmq-dds-command-ui
:
Device::TransitionTo()
and test it (74d301a16, 5256e7c58)constexpr
members in cxx (7c13503e2)operator<<
for boost::any
in boost namespace (7486249c1)WaitForState(string stateName)
(418d42b06)Reset()
(937c9e892)InitWrapper()
(48e04b636)v1.4.5
- 2019-07-022.4
(3358a2ba1)1.70
config mode (09853e303)v1.5.0
(4d53b7c02)v1.4.4
- 2019-06-13fair::mq::tools::make_unique()
(9b326c7a7)PluginServices::SetProperty
in Ready state (7b16c33cc)v1.4.3
- 2019-04-29--ofi-size-hint
option (3582091b1)v1.4.2
- 2019-03-21v0.3.1
(fb42b1e2f, 2457094b6)fair::mq::tools::execute
(922f7e9a9)FairMQParts
by a constructor taking list of FairMQMessagePtr
(696257fd4)tools::execute
(cdc1ba084)v1.4.1
- 2019-03-06v1.4.0
- 2019-03-06RTLD_GLOBAL
flag (0c54aab19)INITIALIZING
state into Init+Bind+ConnectPAUSE
stateCompleteInit
transition to notify Initializing
stateFindFlatBuffers.cmake
(a670b4bbf)v0.2.0
(4d7a1c81c, fc778ab3b)info
to debug
(9ffaa5518)WaitForEndOfState(transition)
in favor of WaitForState(state)/WaitForNextState()
(fc94342db)CheckCurrentState()
in favor of NewStatePending()
(fc94342db, b7125b746)-DBUILD_PMIX_PLUGIN=ON
, off by default. (1191c3cda, 2358d7b03, 61a3da869, 2047dbef5, dfc6b5c4a, 62781389d)--max-run-time
option (8375faf83)ofi::Socket::Send
(46e242054, 672e12f45)ofi::Socket::Receive
(8e7cfacd7, 672e12f45)LD_LIBRARY_PATH
(#133)LogSocketRates
(8375faf83)10.14
(8ee989dbc)CMP0074
(a262d4684)[bug fixes]
[maintenance] Support recent releases of Boost, CMake, DDS and FairLogger
[bug fixes]
[enhancement]
[new features]
[enhancements]
[bug fixes]
[cleanup and deprecations]
[tests]
[dependencies]
Many more small fixes and improvements.
Changelog:
FAIRMQ_PATH
to test suitesFairMQDevice::Transport()
Changelog: