Changes for version 0.50
- Major upgrade, not backward compatible in all cases.
- Bumped the POE dependency as I am struggling to test against older ones.
- Timeout events are now implemented using POE named timers rather than numbered timers. The implementation is much closer to POE's prefered usage, and results in significantly less code in 80% less code in generated timeout code.
- Added the new method ->finish, which will clear all timers and remove the session alias. It should be called when you are ready for your session to be shut down. The finish method MUST be called while in the session you are calling it on. Removed the _finish event.
- Removed the _alias_set and _alias_remove events. With the introduction of the finish method, we fully control all the places where the session alias needs to be created and removed. Direct user access to this is now unneeded and likely to be a source of bugs.
- Any code previously using _alias_remove directly to do their equivalent of what the finish method now does will break.
- POE::Declare - A POE abstraction layer for conciseness and simplicity
- POE::Declare::Meta - Metadata object that describes a POE::Declare class
- POE::Declare::Meta::Attribute - Named accessor with read-only accessor
- POE::Declare::Meta::Event - Declares a named POE event
- POE::Declare::Meta::Internal - Reserve a named slot for internal use
- POE::Declare::Meta::Message - A named message that is emitted to the parent
- POE::Declare::Meta::Param - A named attribute passed to the constructor as a parameter.
- POE::Declare::Meta::Slot - Abstract base class for named class elements
- POE::Declare::Meta::Timeout - A named timeout with generated support methods
- POE::Declare::Object - Base class for all POE::Declare classes