.NET

Dotnet Core - PostgreSQL

postgresql Dotnet Core Series

Read more...

Jenkins

jenkins-logo

Docker Swarm Series

Dotnet Core Series

Read more...

Docker Registry

Docker Swarm Series

Read more...

Redis Clients - ASP.NET Core

Redis Series

Read more...

Redis Clients

Redis Series

Read more...

Dotnet Core

Dotnet Core Series

Read more...

ZooKeeper

ZooKeeper Series

Read more...

Higher-level Constructs with ZooKeeper

ZooKeeper Series

Read more...

.NET 4 - CountdownEvent

A while ago I was asked to complete a job that polls a data from many devices connected over satellite (slow and congested) links. The requirement was to poll data periodically; and somtimes while previous poll cycle was running the next poll time gets triggered. I used the Abortable Threadpool to implement this but still had to implement my own Count Down approach so that I can track if the job gets completed in the alloted time; it simply returns else after the allowed time; it aborts all the remaining queued work! It was really ugly implementation; I had to periodically check if the completed count has reached the queued work count. Now we have a new class in .NET; CountdownEvent; which exactly does the same. Its a synchronization primitive that signals when its count is reached zero. The code now looks neat!

Read more...

.NET 4 - Barrier Class

Barrier class is newly introduced in .NET 4 and it enables the multiple tasks to cooperatively work on an algorithm in parallel through multiple phases. For instance you are polling the data from multiple data source; and this polling is multi step process. While polling in parallel you want coordination that on each step the parallel running tasks before moving to next step coordinate with each other. Visual Studio 2010 and .NET Framework 4 Training Kit (October Preview) has a great sample which I am reproducing below!

Read more...