EAMessage Changes
Version 2.10.09 (Sep 04, 2020)
Changes
- Fixing android test driver
Version 2.10.07 (Jan 13, 2020)
Changes
Version 2.10.06 (Oct 29, 2019)
Changes
- VS solution now includes docs, scripts and build files.
- Added Gitlab CI.
- Updated manifest.
Version 2.10.05 (May 30, 2019)
Changes
- Removed references to unsupported platforms.
Version 2.10.04 (August 13th, 2018)
Changes
- Add Code Coverage to EAMessages Package.
Version 2.10.03 (October 21st, 2016)
Changes
- Fixed a bug in Server::ProcessQueue() which would cause messages to be immediately sent to QueuedHandlers, rather than deferring to the QueuedHandler::ProcessQueue() call to take care of any queued messages.
- Updated Build and Initialize scripts to remove warnings generated by Framework 3
Version 2.10.02 (January 21st, 2016)
Changes
- Fixed warnings generated by VS2015 update 1.
Version 2.10.01 (September 25th, 2015)
Changes
- Converted initialize.xml to structured-XML which fixes warnings generated by Framework.
Version 2.10.00
Changes
- Removed old code pertaining to platforms no longer supported.
- PS Vita
- Gamecube
- Revolution (Wii)
- CTR (3DS)
- Airplay
- Palm
- Cafe (Wii U)
- Bada
- Wince
- Marmalade
- BB 10
- STV
- EAMessage now supports being built in PC DLL configurations.
Version 2.09.00 (July 22nd, 2013)
Release notes:
This is a major update which adds support for message handlers with their own queues, as described below. Existing usage is unchanged, and the additional support has a very small affect on the Server speed which is likely negligible for the case that queued handlers aren't used.
Changes
- Added support for message handlers with their own queues. The primary use for this is for handlers to process posted messages in their own thread as opposed to the thread that Server::ProcessQueue was called from. See the in-code documentation for a description of this as well as example code. The unit tests provide additional example code.
- The following classes were added:
- IQueuedHandler : public IHandler{ ... };
- QueuedHandler : public IQueuedHandler{ ... };
- The following public Server member functions were added:
- void AddQueuedHandler(IQueuedHandler* pHandler, MessageId messageId, bool bRefCounted, int nPriority = kPriorityNormal);
- bool RemoveQueuedHandler(IQueuedHandler* pHandler, MessageId messageId, int nPriority = kPriorityAny);
- A TypeId system was added but disabled. It may be enabled in the future, though likely it will be deleted altogether.
- Added MessageQueue::SetAllocator(EA::Allocator::ICoreAllocator* pCoreAllocator);
- Updated in-code documentation and examples.
- Updated EAMessage.html and EAMessageExtra.html documentation.
Version 2.08.00 (May 6th, 2013)
Changes
- Added support for optional thread safety in EAMessageQueue.
Version 2.07.00 (March 04, 2013)
Changes
- Added a Handler utility class to EAMessageExtra. It allows a single class to have multiple handlers instead of just one, and allows you to avoid inheriting from IHandler in case that's inconvenient.
- Added Server::ReserveMessageIdCapacity(size_t messageIdCount), which allows you to reserve memory up front for handler registration. Suggested by Blake Edwards.
Version 2.06.01 (August 7, 2012)
Changes
- Added new platform support.
Version 2.06.00 (July 3, 2012)
Changes
Version 2.05.01 (May 7, 2012)
Changes
- Updated platform support information.
Version 2.05.00 (March 01, 2012)
Changes
Version 2.04.07 (February 6, 2012)
Changes
- Altered struct member order to put 64 bit values on 64 bit alignment explicitly.
Version 2.04.06 (January 11, 2012)
Changes
- Fixed some header case-sensitivity.
- This version explicitly supports the Freebox platform.
Version 2.04.05 (October 19, 2011)
Changes
- Removed a mutex lock/unlock pair from the Server::ProcessQueue function. In the case of an empty queue there is now just one lock/unlock pair done and not two. If the queue is non-empty then there will still necessarily be a lock/unlock pair for the retrieval of each message from the queue. If you disable multithreading support in the server then there will never be any mutex lock/unlock usage.
- Added ability for a nant user to globally define package.EAMessage.force-static-lib=true, which causes the package to built as a static library even if the build is a DLL build.
Version 2.04.04 (May 4, 2011)
Changes
- Changed EAThread Mutex usage to Futex usage.
Additions
- Added codestripper support.
- Verfied Playbook support
Version 2.04.03 (May 31, 2010)
Release notes
- This version provides updates for mobile platforms and for the CodeWarrior (1.3) and PS3 SN (330) compilers.
Changes
- Added a print EXIT(n) at the end of the unit tests on wii to support EARunner_Wii; it will indicate to the runner that the test is completed.
Version 2.04.02 (February 7, 2010)
Additions
- Added unix and unix64 support (which includes OS X and iPhone support). This mostly entailed fixing a couple compiler warnings/errors.
Bug Fixes
Changes
- Unit tests no longer depend on UTFFoundation package.
Version 2.04.01 (September 9, 2009)
Additions
Bug Fixes
- Fixed missing ctor implementation mistaken copy ctor use in PostedMessagePool. Submitted by Michael Pang.
Changes
- Converted to usage of <EASTL/core_allocator_adapter.h> instead of <EAMessage/EAMessageCoreAllocator.h>. This may fix some 'operator new' problems for some users.
- Deprecated PostedMessagePool::PostMessage in favor of the name MessagePost, as the former causes collisions with Windows.h. Ditto for MessageCreate and MessageDestroy.
- Added .build file options to control config parameters without modifying code or environment variables.
- Added support for GCC strict aliasing.
- Revised the .build file to expose all significant config defines as user-controllable global properties.
Version 2.04.00 (February 26, 2008)
Additions
- Added SNC compiler compatibility.
- Added EALOCALE_VERSION / EALOCALE_VERSION_N to the definition set. This allows for determining the version at compile time.
Bug Fixes
Changes
- Added EAMESSAGE_ENABLE_DEFAULT_ALLOCATOR to config.h in order to allow the enabling/disabling of usage of EA::Allocator::ICoreAllocator::GetDefaultAllocator(). The GetDefaultAllocator function wasn't something that was always called; it was called only if you didn't supply an allocator to the message Server. This define disables any usage of GetDefaultAllocator.
- Added printf("\32") to end of unit test under PS3 and PS2. This indicates to the SN tools that the app is done.
Version 2.03.01 (September 6, 2007)
Additions
- Added the ability for the user to override memory allocation names. See EAMESSAGE_ALLOC_PREFIX in Config.h
Bug Fixes
- Fix for memory leak of message handlers when they are refcounted by the message Server.
Changes
- Reduced the amount of stack memory used by Server::MessageSend.
- Changed the EA_MESSAGE_DEFER_ENABLED define to EAMESSAGE_DEFER_ENABLED but left backwards compatibility.
Version 2.03.00 (May 4, 2007)
Additions
- Added EAMessagePool.h, which allows the user to easily do asynchronous message posting without having to directly worry about memory management, but still do memory management in a conservative controlled way.
- Added Server:: IsHandlerRegistered to match AddHandler and RemoveHandler.
Bug Fixes
- Fixed CodeWarrior compile warnings of various sorts, plus a linker error regarding operator new.
- Fixed Linux and Cygwin compile errors of various sorts.
Changes
- Simplied the build files to a single EAMessage.build file.
Version 2.02.01 (Jan 24, 2007)
Additions
Bug Fixes
- Added an additional guard around the use of UTF_USE_EATRACE.
Changes
Version 2.02.00 (Nov 29, 2006)
Additions
Bug Fixes
- Server::SetAllocator fixed to relay the allocator setting to mQueue. It was not doing this and thus if you called Server::SetAllocator the new allocator would not be set on the message queue.
- Fixed bug in Unix / Mac OSX time calculation.
- Fixed potential compiler warnings under VS2005.
Changes
Version 2.01.00 (Oct 23, 2006)
Release Notes
- This version represents the first formally published version of this package. However, this package has existed for some time before this publishing and has been in heavy use by some teams for a couple years.
Additions
- Added Framework 2 / EAConfig / NAnt build files to this package.
- Added ability to switch between the lightweight EAAssert package and the heavier EATrace package.
- Added this Changes.html document.
Bug Fixes
Changes
Earlier versions
Version 2.01.00 (above) is the first version of this package which contained this document. A list of previous changes is not available and is not likely worthwhile, as 2.01.00 is the version published as a formal package. This package has existed for some time before this publishing, however.
End of document