Ebenezer Enterprises

We offer two free services aimed at helping those who are developing applications with C++.


Middleware Service
  Comparing Boost Serialization to our approach
  Send Sample - sendsample.cc
  Receive Sample - receivesample.cc

Text Service

Supported Types

Provide Feedback

Company Overview

Links

Ask and You Will Receive
Includes an open letter to Qwest and Comcast.

 

Recent Developments

March, 2008

Support for the Boost Unordered Containers library is available. This includes support for unordered_set, unordered_multiset, unordered_map and unordered_multimap.

Support for message lengths is now available. This page has an option that when used prompts the calculation of the length of each message and the inclusion of the message length in the message header. When message lengths are being used, code that receives messages should call Buffer::SetMsgLength() prior to calling a Receive function. A clc++m thread titled "Preventing Denial of Service Attack in IPC Serialization" was instrumental in our decision to add this support.

Support for the Boost Range library's sub_range<> is available. The support for this type is unusual in that it is possible to send data via a sub_range but not receive data into one. There's more info here about how we support this type.

January, 2008

Support for message IDs is now available.
This Middle code: (list<int>) @MSGID_1
results in this output. Notice how the Send function includes code to send a message ID, but the Receive function doesn't have any related code. The data sent by the Send function will probably be handled by two Receive functions. The first Receive function (not shown) to execute will get a message ID, which can then be used to dispatch to the Receive function in the above listing. This sample program shows an example of that.

December, 2007

Worked on improving the documentation.

July, 2007

Added a Resize function to the Buffer class.

December, 2006

Fixed an overflow problem in Buffer's Receive function and made a few minor changes to the class.

June, 2006

Worked on improvements to the Middleware Service documentation including expanding the "Advantages" section and adding a section called "Dealing with Stragglers" that discusses supporting multiple versions of a product simultaneosly.

December, 2005

Added valarray<> support,
changed/improved the code generated when receiving vectors of POD,
changed/improved the code in Send functions after noting only a single int is needed to keep track of the counts/sizes of container classes. We still use an array of ints in Receive functions.