1.5

Rating: No reviews yet
Downloads: 35
Change Set: 081cc9fe2cd8
Released: May 13, 2012
Updated: Nov 2, 2012 by OlafKober
Dev status: Alpha Help Icon

Recommended Download

Application Amarok Framework Library 1.5 (Runtime)
application, 304K, uploaded May 12, 2012 - 19 downloads

Other Available Downloads

Source Code Amarok Framework Library 1.5 (Source)
source code, 2581K, uploaded May 10, 2012 - 16 downloads

Release Notes

  • CHG: [Breaking] Renamed assembly amarok.framework to amarok.common.
  • NEW: Introduced overloaded extension method WaitForCompletion() on Task that blocks the calling thread until the task enters a completion state much like task.Wait(), but in contrast to task.Wait() these extension methods do not throw exceptions when the task completed in a canceled or faulted state.
  • NEW: Introduced interface ICompletable and implementation base class CompletableObject. The dispose pattern represented by IDisposable is well suited for disposing (or tearing down) objects in a synchronous blocking manner; the calling thread is blocked until the object is finally disposed. For a thread-safe implementation one can derive from DisposableObject. In an asynchronous world blocking isn't a good idea. ICompletable represents a new pattern (borrowed from TPL Dataflow) for tearing down objects asychronously. The caller initiates completion by calling Complete(..) and may optionally wait until completion finished by using the Task object returned from property Completion.
amarok.agents
  • CHG: [Breaking] Renamed type Unit to Empty. Use Empty.Instance instead of Unit.Instance.
Message
  • CHG: [Breaking] Renamed property Address to Label and changed type from String to Object. The new name 'Label' expresses the meaning of the property: it's not thought as an address for routing the message to a destination, but instead it is intended to be an optional attached tag, a label carrying some kind of information that can be used to filter messages.
Operation
  • FIX: [Breaking] The thread reporting progress is now decoupled from the threads that handle progress events. Prior, the reporting thread was calling the progress event handlers directly. This was an unintended behavior and has been changed.
Agents
  • CHG: [Breaking] The agent infrastructure now ensures that an operation messages is processed by only one operation handler, even if multiple operation handlers are registered for this operation message type. The first operation handler that receives the operation message will acquire and process the operation; all other operation handler will output a warning message. This new behavior does not affect message handler; those are still able to handle all kinds of messages.
  • CHG: [Breaking] Agents now implement the new asynchronous completion pattern represented by ICompletable. The interface IAgent derives from ICompletable and provides functionality to tear down agents asynchronously.
MessageBus
  • CHG: [Breaking] MessageBus now implements the new asynchronous completion pattern represented by ICompletable. The interface IMessageBus derives from ICompletable and provides functionality for tearing down the message bus asynchronously.
Subsystem
  • CHG: [Breaking] Subsystem now implements the new asynchronous completion pattern represented by ICompletable. The interface ISubsystem derives from ICompletable and provides functionality for tearing down the subsystem and contained agents asynchronously.
Runtime
  • CHG: [Breaking] Runtime now implements the new asynchronous completion pattern represented by ICompletable.
  • CHG: [Breaking] Removed types RuntimeAgent and RuntimeAgent<TEnvironment, TOptions>. Derive from Agent or Agent<TEnvironment, TOptions> instead.
amarok.presentation
  • NEW: Added overloaded constructors to all Controller types that accept a view-model instance as argument.
  • NEW: Added overloaded methods SpawnController(..) to ControllerFactory that accept a view-model instance as argument.

For a full list of changes refer to Release Notes.

Reviews for this release

No reviews yet for this release.