Index: src/Fragmentation/Automation/Connection.hpp
===================================================================
--- src/Fragmentation/Automation/Connection.hpp	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
+++ src/Fragmentation/Automation/Connection.hpp	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -0,0 +1,186 @@
+/*
+ * Connection.hpp
+ *
+ *  Created on: Oct 21, 2011
+ *      Author: heber
+ */
+
+#ifndef CONNECTION_HPP_
+#define CONNECTION_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <iomanip>
+#include <string>
+#include <sstream>
+#include <vector>
+
+/** The Connection class provides serialization primitives on top of a socket.
+ * Each message sent using this class consists of:
+ * @li An 8-byte header containing the length of the serialized data in
+ * hexadecimal.
+ * @li The serialized data.
+ */
+class Connection
+{
+public:
+  /// Constructor.
+  Connection(boost::asio::io_service& io_service)
+    : socket_(io_service)
+  {
+  }
+
+  /// Get the underlying socket. Used for making a Connection or for accepting
+  /// an incoming Connection.
+  boost::asio::ip::tcp::socket& socket()
+  {
+    return socket_;
+  }
+
+  /// Asynchronously write a data structure to the socket.
+  template <typename T, typename Handler>
+  void async_write(const T& t, Handler handler)
+  {
+    // Serialize the data first so we know how large it is.
+    std::ostringstream archive_stream;
+    boost::archive::text_oarchive archive(archive_stream);
+    archive << t;
+    outbound_data_ = archive_stream.str();
+
+    // Format the header.
+    std::ostringstream header_stream;
+    header_stream << std::setw(header_length)
+      << std::hex << outbound_data_.size();
+    if (!header_stream || header_stream.str().size() != header_length)
+    {
+      // Something went wrong, inform the caller.
+      boost::system::error_code error(boost::asio::error::invalid_argument);
+      socket_.get_io_service().post(boost::bind(handler, error));
+      return;
+    }
+    outbound_header_ = header_stream.str();
+
+    // Write the serialized data to the socket. We use "gather-write" to send
+    // both the header and the data in a single write operation.
+    std::vector<boost::asio::const_buffer> buffers;
+    buffers.push_back(boost::asio::buffer(outbound_header_));
+    buffers.push_back(boost::asio::buffer(outbound_data_));
+    boost::asio::async_write(socket_, buffers, handler);
+  }
+
+  /// Asynchronously read a data structure from the socket.
+  template <typename T, typename Handler>
+  void async_read(T& t, Handler handler)
+  {
+    // Issue a read operation to read exactly the number of bytes in a header.
+    void (Connection::*f)(
+        const boost::system::error_code&,
+        T&, boost::tuple<Handler>)
+      = &Connection::handle_read_header<T, Handler>;
+    boost::asio::async_read(socket_, boost::asio::buffer(inbound_header_),
+        boost::bind(f,
+          this, boost::asio::placeholders::error, boost::ref(t),
+          boost::make_tuple(handler)));
+  }
+
+  /// Handle a completed read of a message header. The handler is passed using
+  /// a tuple since boost::bind seems to have trouble binding a function object
+  /// created using boost::bind as a parameter.
+  template <typename T, typename Handler>
+  void handle_read_header(const boost::system::error_code& e,
+      T& t, boost::tuple<Handler> handler)
+  {
+    if (e)
+    {
+      boost::get<0>(handler)(e);
+    }
+    else
+    {
+      // Determine the length of the serialized data.
+      std::istringstream is(std::string(inbound_header_, header_length));
+      std::size_t inbound_data_size = 0;
+      if (!(is >> std::hex >> inbound_data_size))
+      {
+        // Header doesn't seem to be valid. Inform the caller.
+        boost::system::error_code error(boost::asio::error::invalid_argument);
+        boost::get<0>(handler)(error);
+        return;
+      }
+
+      // Start an asynchronous call to receive the data.
+      inbound_data_.resize(inbound_data_size);
+      void (Connection::*f)(
+          const boost::system::error_code&,
+          T&, boost::tuple<Handler>)
+        = &Connection::handle_read_data<T, Handler>;
+      boost::asio::async_read(socket_, boost::asio::buffer(inbound_data_),
+        boost::bind(f, this,
+          boost::asio::placeholders::error, boost::ref(t), handler));
+    }
+  }
+
+  /// Handle a completed read of message data.
+  template <typename T, typename Handler>
+  void handle_read_data(const boost::system::error_code& e,
+      T& t, boost::tuple<Handler> handler)
+  {
+    if (e)
+    {
+      boost::get<0>(handler)(e);
+    }
+    else
+    {
+      // Extract the data structure from the data just received.
+      try
+      {
+        std::string archive_data(&inbound_data_[0], inbound_data_.size());
+        std::istringstream archive_stream(archive_data);
+        boost::archive::text_iarchive archive(archive_stream);
+        archive >> t;
+      }
+      catch (std::exception& e)
+      {
+        // Unable to decode data.
+        boost::system::error_code error(boost::asio::error::invalid_argument);
+        boost::get<0>(handler)(error);
+        return;
+      }
+
+      // Inform caller that data has been received ok.
+      boost::get<0>(handler)(e);
+    }
+  }
+
+private:
+  /// The underlying socket.
+  boost::asio::ip::tcp::socket socket_;
+
+  /// The size of a fixed length header.
+  enum { header_length = 8 };
+
+  /// Holds an outbound header.
+  std::string outbound_header_;
+
+  /// Holds the outbound data.
+  std::string outbound_data_;
+
+  /// Holds an inbound header.
+  char inbound_header_[header_length];
+
+  /// Holds the inbound data.
+  std::vector<char> inbound_data_;
+};
+
+typedef boost::shared_ptr<Connection> connection_ptr;
+
+#endif /* CONNECTION_HPP_ */
Index: src/Fragmentation/Automation/Makefile.am
===================================================================
--- src/Fragmentation/Automation/Makefile.am	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ src/Fragmentation/Automation/Makefile.am	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -13,5 +13,5 @@
 
 servers11n_SOURCES = \
-  connection.hpp \
+  Connection.hpp \
   server.cpp \
   FragmentJob.cpp \
@@ -30,5 +30,5 @@
 clients11n_SOURCES = \
   client.cpp \
-  connection.hpp \
+  Connection.hpp \
   FragmentJob.cpp \
   FragmentJob.hpp \
Index: src/Fragmentation/Automation/StockClient.cpp
===================================================================
--- src/Fragmentation/Automation/StockClient.cpp	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ src/Fragmentation/Automation/StockClient.cpp	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -19,6 +19,7 @@
 #include <iostream>
 #include <vector>
-#include "connection.hpp" // Must come before boost/serialization headers.
+#include "Connection.hpp" // Must come before boost/serialization headers.
 #include <boost/serialization/vector.hpp>
+#include "CodePatterns/Info.hpp"
 #include "FragmentJob.hpp"
 #include "StockClient.hpp"
@@ -31,4 +32,5 @@
   connection_(io_service)
 {
+    Info info(__FUNCTION__);
   // Resolve the host name into an IP address.
   boost::asio::ip::tcp::resolver resolver(io_service);
@@ -47,4 +49,5 @@
 void StockClient::handle_connect(const boost::system::error_code& e)
 {
+    Info info(__FUNCTION__);
   if (!e)
   {
@@ -68,4 +71,5 @@
 void StockClient::handle_read(const boost::system::error_code& e)
 {
+    Info info(__FUNCTION__);
   if (!e)
   {
Index: src/Fragmentation/Automation/StockClient.hpp
===================================================================
--- src/Fragmentation/Automation/StockClient.hpp	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ src/Fragmentation/Automation/StockClient.hpp	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -17,5 +17,5 @@
 #include <boost/asio.hpp>
 #include <vector>
-#include "connection.hpp" // Must come before boost/serialization headers.
+#include "Connection.hpp" // Must come before boost/serialization headers.
 #include "FragmentJob.hpp"
 
@@ -36,5 +36,5 @@
 private:
   /// The connection to the server.
-  connection connection_;
+  Connection connection_;
 
   /// The data received from the server.
Index: src/Fragmentation/Automation/StockServer.cpp
===================================================================
--- src/Fragmentation/Automation/StockServer.cpp	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ src/Fragmentation/Automation/StockServer.cpp	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -20,6 +20,7 @@
 #include <iostream>
 #include <vector>
-#include "connection.hpp" // Must come before boost/serialization headers.
+#include "Connection.hpp" // Must come before boost/serialization headers.
 #include <boost/serialization/vector.hpp>
+#include "CodePatterns/Info.hpp"
 #include "FragmentJob.hpp"
 
@@ -31,9 +32,10 @@
   )
 {
+    Info info(__FUNCTION__);
   FragmentJob s(std::string("test"), 1);
   jobs_.push_back(s);
 
   // Start an accept operation for a new connection.
-  connection_ptr new_conn(new connection(acceptor_.get_io_service()));
+  connection_ptr new_conn(new Connection(acceptor_.get_io_service()));
   acceptor_.async_accept(new_conn->socket(),
     boost::bind(&StockServer::handle_accept, this,
@@ -43,4 +45,5 @@
 void StockServer::handle_accept(const boost::system::error_code& e, connection_ptr conn)
 {
+    Info info(__FUNCTION__);
   std::cout << "handle_accept called." << std::endl;
   if (!e)
@@ -54,5 +57,5 @@
   }
 
-  connection_ptr new_conn(new connection(acceptor_.get_io_service()));
+  connection_ptr new_conn(new Connection(acceptor_.get_io_service()));
   acceptor_.async_accept(new_conn->socket(),
     boost::bind(&StockServer::handle_accept, this,
@@ -62,4 +65,5 @@
 void StockServer::handle_write(const boost::system::error_code& e, connection_ptr conn)
 {
+    Info info(__FUNCTION__);
   // Nothing to do. The socket will be closed automatically when the last
   // reference to the connection object goes away.
Index: src/Fragmentation/Automation/StockServer.hpp
===================================================================
--- src/Fragmentation/Automation/StockServer.hpp	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ src/Fragmentation/Automation/StockServer.hpp	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -17,5 +17,5 @@
 #include <boost/asio.hpp>
 #include <vector>
-#include "connection.hpp" // Must come before boost/serialization headers.
+#include "Connection.hpp" // Must come before boost/serialization headers.
 #include "FragmentJob.hpp"
 
Index: c/Fragmentation/Automation/connection.hpp
===================================================================
--- src/Fragmentation/Automation/connection.hpp	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ 	(revision )
@@ -1,184 +1,0 @@
-//
-// connection.hpp
-// ~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef SERIALIZATION_CONNECTION_HPP
-#define SERIALIZATION_CONNECTION_HPP
-
-#include <boost/asio.hpp>
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/bind.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <iomanip>
-#include <string>
-#include <sstream>
-#include <vector>
-
-/// The connection class provides serialization primitives on top of a socket.
-/**
- * Each message sent using this class consists of:
- * @li An 8-byte header containing the length of the serialized data in
- * hexadecimal.
- * @li The serialized data.
- */
-class connection
-{
-public:
-  /// Constructor.
-  connection(boost::asio::io_service& io_service)
-    : socket_(io_service)
-  {
-  }
-
-  /// Get the underlying socket. Used for making a connection or for accepting
-  /// an incoming connection.
-  boost::asio::ip::tcp::socket& socket()
-  {
-    return socket_;
-  }
-
-  /// Asynchronously write a data structure to the socket.
-  template <typename T, typename Handler>
-  void async_write(const T& t, Handler handler)
-  {
-    // Serialize the data first so we know how large it is.
-    std::ostringstream archive_stream;
-    boost::archive::text_oarchive archive(archive_stream);
-    archive << t;
-    outbound_data_ = archive_stream.str();
-
-    // Format the header.
-    std::ostringstream header_stream;
-    header_stream << std::setw(header_length)
-      << std::hex << outbound_data_.size();
-    if (!header_stream || header_stream.str().size() != header_length)
-    {
-      // Something went wrong, inform the caller.
-      boost::system::error_code error(boost::asio::error::invalid_argument);
-      socket_.get_io_service().post(boost::bind(handler, error));
-      return;
-    }
-    outbound_header_ = header_stream.str();
-
-    // Write the serialized data to the socket. We use "gather-write" to send
-    // both the header and the data in a single write operation.
-    std::vector<boost::asio::const_buffer> buffers;
-    buffers.push_back(boost::asio::buffer(outbound_header_));
-    buffers.push_back(boost::asio::buffer(outbound_data_));
-    boost::asio::async_write(socket_, buffers, handler);
-  }
-
-  /// Asynchronously read a data structure from the socket.
-  template <typename T, typename Handler>
-  void async_read(T& t, Handler handler)
-  {
-    // Issue a read operation to read exactly the number of bytes in a header.
-    void (connection::*f)(
-        const boost::system::error_code&,
-        T&, boost::tuple<Handler>)
-      = &connection::handle_read_header<T, Handler>;
-    boost::asio::async_read(socket_, boost::asio::buffer(inbound_header_),
-        boost::bind(f,
-          this, boost::asio::placeholders::error, boost::ref(t),
-          boost::make_tuple(handler)));
-  }
-
-  /// Handle a completed read of a message header. The handler is passed using
-  /// a tuple since boost::bind seems to have trouble binding a function object
-  /// created using boost::bind as a parameter.
-  template <typename T, typename Handler>
-  void handle_read_header(const boost::system::error_code& e,
-      T& t, boost::tuple<Handler> handler)
-  {
-    if (e)
-    {
-      boost::get<0>(handler)(e);
-    }
-    else
-    {
-      // Determine the length of the serialized data.
-      std::istringstream is(std::string(inbound_header_, header_length));
-      std::size_t inbound_data_size = 0;
-      if (!(is >> std::hex >> inbound_data_size))
-      {
-        // Header doesn't seem to be valid. Inform the caller.
-        boost::system::error_code error(boost::asio::error::invalid_argument);
-        boost::get<0>(handler)(error);
-        return;
-      }
-
-      // Start an asynchronous call to receive the data.
-      inbound_data_.resize(inbound_data_size);
-      void (connection::*f)(
-          const boost::system::error_code&,
-          T&, boost::tuple<Handler>)
-        = &connection::handle_read_data<T, Handler>;
-      boost::asio::async_read(socket_, boost::asio::buffer(inbound_data_),
-        boost::bind(f, this,
-          boost::asio::placeholders::error, boost::ref(t), handler));
-    }
-  }
-
-  /// Handle a completed read of message data.
-  template <typename T, typename Handler>
-  void handle_read_data(const boost::system::error_code& e,
-      T& t, boost::tuple<Handler> handler)
-  {
-    if (e)
-    {
-      boost::get<0>(handler)(e);
-    }
-    else
-    {
-      // Extract the data structure from the data just received.
-      try
-      {
-        std::string archive_data(&inbound_data_[0], inbound_data_.size());
-        std::istringstream archive_stream(archive_data);
-        boost::archive::text_iarchive archive(archive_stream);
-        archive >> t;
-      }
-      catch (std::exception& e)
-      {
-        // Unable to decode data.
-        boost::system::error_code error(boost::asio::error::invalid_argument);
-        boost::get<0>(handler)(error);
-        return;
-      }
-
-      // Inform caller that data has been received ok.
-      boost::get<0>(handler)(e);
-    }
-  }
-
-private:
-  /// The underlying socket.
-  boost::asio::ip::tcp::socket socket_;
-
-  /// The size of a fixed length header.
-  enum { header_length = 8 };
-
-  /// Holds an outbound header.
-  std::string outbound_header_;
-
-  /// Holds the outbound data.
-  std::string outbound_data_;
-
-  /// Holds an inbound header.
-  char inbound_header_[header_length];
-
-  /// Holds the inbound data.
-  std::vector<char> inbound_data_;
-};
-
-typedef boost::shared_ptr<connection> connection_ptr;
-
-#endif // SERIALIZATION_CONNECTION_HPP
Index: tests/CodeChecks/testsuite-config_h.at
===================================================================
--- tests/CodeChecks/testsuite-config_h.at	(revision c6bcd0d3471aa10310cb252b40ebb9963d2eb216)
+++ tests/CodeChecks/testsuite-config_h.at	(revision af3aedfa905ac3865913f9a11dba55621206e94e)
@@ -1,5 +1,5 @@
 AT_SETUP([Checking for present config.h include])
 AT_KEYWORDS([CodeCheck config_h])
-ok="unity.cpp AllActionHeaders.hpp AllActionPython.hpp pugiconfig.hpp pugixml.cpp pugixml.hpp connection.hpp client.cpp server.cpp"
+ok="unity.cpp AllActionHeaders.hpp AllActionPython.hpp pugiconfig.hpp pugixml.cpp pugixml.hpp client.cpp server.cpp"
 echo `pwd`
 echo "${#ok[*]} are ok to not contain config.h: ${ok[*]}."
