DI ( Dependency Injection with Setter, Constructor, and Method), AOP ( Aspect Oriented Programming ), Events support, and XML, YAML, AND JSR annotations as bean definition providers, lightweight, simple, and quick MVC ( Model View Controller ), syslog, tcp client and server, with non blocking
... [More] sockets, timers, and custom error, signal, and exception handling, PAGI Integration (for asterisk gateway interface or agi), PAMI Integration (for asterisk management). Needs PHP 5.3, very similar to seasar, spring ( java ) . Tested with doctrine2! ;) [Less]
Visual C++ WinSock Server/Client Engine
EpServerEngine is a Visual C++ software framework that supports the development of server/client application un a GPL3.0 license.
It handles all the initialize/usage WinSock library, which is time consuming task.
EpServerEngine supports Visual C++ 2005/2008/2010/2012.
VDT - Visual Disk Test : performs I/O tests on files and/or devices. ( The BUD Toolshed is a set of utility programs to improve operating system administration, ranging from security and storage to performance analysis ; VDT is the I/O tester ).
The SQL Server Blocked Process Monitor makes monitoring, tracking and troubleshooting blocking inside SQL Server 2005 and SQL Server 2008 easy. You'll no longer have to manually enable and run a trace to capture the blocked process report. It is developed in C#.
Concurrent ADT Experiment FrameworkThis project aims to evaluate different concurrent non-blocking abstract data types and compare their performance.Substantial research has gone into non-blocking algorithms over the past 15 years, and non-blocking algorithms have been discovered for many common
... [More] data structures. Non-blocking algorithms also called wait-free and lock-free algorithms. An algorithm is said to be wait-free if every thread will continue to make progress in the face of arbitrary delay (or even failure) of other threads. By contrast, a lock-free algorithm requires only that some thread always make progress. Non-blocking algorithms are used extensively at the operating system and JVM level for tasks such as thread and process scheduling. While they are more complicated to implement, they have a number of advantages over lock-based alternatives -- hazards like priority inversion and deadlock are avoided, contention is less expensive, and coordination occurs at a finer level of granularity, enabling a higher degree of parallelism.
In this project we use the functionality of java.util.concurrent.atomic.AtomicReference in order to perform atomic operations (like "CAS") on shared memory. The compare-and-swap CPU instruction ("CAS") is a special instruction that atomically compares the contents of a memory location to a given value and, if they are the same, modifies the contents of that memory location to a given new value. The result of the operation must indicate whether it performed the substitution. This can be done either with a simple Boolean response (this variant is often called compare-and-set), or by returning the value read from the memory location (not the value written to it).
Source Structure In the Source tab you can browse to svn\trunk\concurrentadt\ConcurrentADT where you can find the following four directories:
data_experiment_reports - Contains the results of the experiment in *.csv or *.xsl format. executables - contains *.jar and *.bat files that produced the results of the experiment. src - Contains the source code of the project in the following sub-folding structure: control domain queue stack workers uml - Contains a class diagram that represents the architecture of the Concurrent ADT Experiment Framework. [Less]