============================ ==== MQ4CPP CHANGE LOG ===== ============================ Release V1.16 ============= MessageProxy.h,Socket.h,Thread.h,rijndael.h,FileSystem.cpp,Socket.cpp,Thread.cpp modified for compatibility with FreeBSD. Release V1.15 ============= Trace.cpp - Fixed high amount of system cpu usage in Linux mqftp.cpp - Added destination path option FileTransfer.h/.cpp - Added the possibility to specify the destination path for a file transfer. example14.cpp - Added new example to demostrate how to route Request/Reply messages. RequestReply.h/.cpp - New constructor for Client to narrow local services, added Client::setTopic to handle remote switching, fixed a bug in Server::onRequest(). Router.h/.cpp - New classes Switch and Localhost router. Registry.cpp - Fixed a little bug on Rgistry::add member. Now stopped threads are logged. MessageQueue.h/cpp - Added new Decoupler::deferredBroadcast member and new MessageQueue::shutdown to gracefully shutdown a message queue. MessageProxy.h/cpp - Added new MessageProxyFactory::getUniqueNetID static member. Socket.h/cpp - Added new getAdapters static member. Now SocketServer accept listen address in the constructor. Thread.h/cpp - Added new setAffinity member to set thread cpu affinity and modified stop member function. FileSystem.h/cpp - Added new static member find, copy, move, rmdir and mkfulldir to Directory class. Modified copy member function. Release V1.14 ============= benchmark.cpp - Added message routing and parallel mode execution of test Router.h/.cpp - New classes RemoteRouting and LocalRouting Release V1.13 ============= benchmark.cpp - New application added to evaluate MQ4CPP performances RequestReply.cpp - Fixed deallocation problem of tx message after Client::success or Client::fail member call. MessageProxy.h/.cpp - Handling compression/decompression in Observer. Fixed performance problem during TCP/IP tx. compr.cpp - New application added to bench compression performance Copression.h/.ccp - New class PacketCompression Release V1.12 ============= MessageProxy.h/.cpp - Added onNewConnection virtual member in MessageProxyFactory class peer.cpp - New example to demostrate how to build a peer to peer service. Release V1.11 ============= Encription.h/.cpp - Added generateKey128 and generateKey256 from a string MessageProxy.h/.cpp - Changed MessageProxy rx and tx FileTransfer.h/.cpp - Changed transfer size to 65Kbytes Socket.cpp - Fixed bug on socket receive function Logger.h/.cpp - Added new macro BUFFER to dump a buffer in the log file Properties.h/.cpp - Changed size of LongIntProperty from long to long long to avoid problems between IA32 and IA64 Release V1.10 ============= Registry.h/.cpp - Fixed bug in lookup(). MessageQueue.h/.cpp - Added static member function dump(). Registry.h/.cpp - New dump() member fuction for Registry class to show all instanced MessageQueue objects. MessageProxy.cpp - New decodeProperties overladed member function for Observer class. Properties.h./cpp - Added getRecordset to ListProperty to retrieve all its ListProperty objects. MemoryChannel.h/.cpp - Added an overloaded member function in MemoryChannelClient to set memory buffer Request.h/.cpp - Added member function in Client class to test connection parameters MessageQueue.h/.cpp - Added new lookup function. Observer has a new member value itsLastMessageProxy containing last MessageProxy handle. Registry.h/.cpp - Added new lookup function MessageProxy.cpp - MessageProxyFactory now create MessageProxy with connection properties embedded in its name. Socket.h/.cpp - Changes on SocketServer allow to retrieve address and port of connection. Release V1.9 ============ example13.cpp - New example to demostrate how lock manager works. LockManager.h/.cpp - LockManager class added example12.cpp - New example to demostrate how memory channel works. MemoryChannel.h/.cpp - MemoryChannel class added mqft.cpp - New example to demostrate how file transfer works. FileTransfer.h/.cpp - FileTransfer class added MessageProxy.h/.cpp - Added to Observer class encodeProperties/decodeProperties member funcitions Properties.h/.cpp - Created new modules for Property classes and implementation Session.h/.cpp - Removed Propety classes definition and implementation FileSystem.h/.cpp - On File::open() check file size. getSize() return the file size value. makefile - example*.cpp moved to ./examples directory Release V1.8 ============ Tread.h/.cpp - Redesigned multithreading sincronization for WIN32 LinkedList.h/.cpp - Redesigned LinkedList with SMP cache coecency WIN32 APIs Vector.cpp - Redesigned Vector with SMP cache coecency WIN32 APIs Makefile.win - Added -MT to link C multithreaded run-time library (LIBCMT.LIB) example3.cpp - Added more concurrent thead Release V1.7 ============ From this version MQ4CPP is modified to support True3DShell project Timer.cpp - Timer tick lowed from 100ms to 10ms FileSystem.h/cpp - Improved file system interface Release V1.6 ============ StoreForward.h/.cpp - Added MessageStorer and MessageForwarder classes to implement store&forward FileSystem.h/.cpp - Added utility classes to interface file system. Release V1.5 ============ Exception.h - Added main exception class Logger.h/cpp - Added STARTLOGGER Thread.cpp - Fixed thread dead lock on Windows. Timer.h/.cpp - Timer send copies of Wakeup message. Session.h/cpp - A session can be stored or loaded from a file. MessageProxy.h/cpp - Implementation of publish/subscribe paradigm. Registry.h/cpp - Handle generation don't use a zero value. Registry.h/cpp - Broadcasting messages not posted to queue has invoked broadcast. MessageQueue.h/cpp - sender handle (getSender/setSender) moved from network messages to Message class. MessageQueue.h/cpp - Added clone() and removed possibility for a message to be statically allocated. Release V1.4 ============ example1-4.cpp - Fixed bug of memory leaking. trace.h/cpp - Trace is now integrated with Microsoft DDK WinDbg debugger. Registry.h/.cpp - Fixed bug of multithreading conflict. RequestReply.h/.cpp - Fixed bug of multithreading conflict. Fixed bug while lookingup a service from Client. Session.h/.cpp - Changed ListProperty deserialization. Release V1.3 ============ example6.cpp - Modified to use Rijndael 256 encription. example5.cpp - Modified to use Rijndael 128 encription. MessageProxy.h/.cpp - Modified class Observer to support encription/decription for network messages. Session.h/.cpp - ListProperty is now itself a Property. This enables to store a tree of properties in a session. Session.h/.cpp - Fixed bug of multithread contention on properties management. Encription.h/.cpp - Added OO wrapper for encription. rijndael.h/rijndael-128.c/rijndael-256.c - Added Rijndael 128/256 ecription algorith. Release V1.2 ============ example8.cpp - New example to demostrate how session repository and session replication work. Session.h/.cpp - Added PropertyList, Session and StatefulServer classes to support session repository and session replication. RequestReply.h/.cpp - Added timeout on lookup or sending messages. Release V1.1 ============ GarbageCollector.h - Added flush() member. Registry.h/.cpp - Correct bug in handle assignment. MessageProxy.h/.cpp - Support of sequence number of message Timer.h/.cpp - Added time() static member. RequestReply.h/.cpp - Added new Client and Server classes to support reliable Request/Reply messaging. Relese V1.0 =========== First release.