For requests (not commands or events), exceptions are rethrown on the client side so that we don't have to embed response codes everywhere.
As one instance of a replicated microservice, I want to compete with other microservices of my own kind to respond to events so that I can be scaled out safely.
Implemented "multicast" and "competing" event handlers.
Started tidying up sample app to demonstrate multicast and competing pub/sub.
Solution folder cleanup.
Tidied up integration tests. We now have an option to nuke+pave our test namespace (along with a suitably dire warning).
Cleaned up throughput tests. They're actually fairly nice now.
Updated Autofac.
Reorganised test project a little. Message contracts (and hence queue/topic names) make a bit more sense now.
Increased timeout for integration tests.
Fixed broken tests.
Made test harness more robust and heaps faster.
Fixed broken test.
Moved SpecificationForBus base class up a level.
Extracted message contracts into their own assembly.
Added .nuspec for MessageContracts assembly.
Implemented multicast request response - multi responder with timeout
Tweaked default queue, topic and subscription settings.
Added Nimbus.Autofac nuspec file so that TeamCity can package it.
Tweaked nuspec file.