psocksxx  0.0.6
 All Classes Functions Variables Typedefs Enumerations Enumerator Pages
psocksxx

A C++ wrapper for POSIX sockets

Copyright and License

Copyright (C) 2013 Uditha Atukorala.

This software library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This software library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

The Concept

This project was started to add to the features provided by the simple socket-library project, specially socket timeouts. But rather than sticking to the same class structure it was decided to use stream buffers in C++ standard library.

The inspiration to derive from std::streambuf came from the socket++ library initially developed by Gnanasekaran Swaminathan. While the socket++ library seems to be stable and feature rich, the coding style and the lack of API documentation makes it a little difficult for the beginners.

psocksxx library attempts to borrow the concepts from socket++ and socket-library, but not the code, and create a well documented (and hopefully easy to understand) POSIX socket communication wrapper in C++. To keep the code simple and clean this project will only support POSIX sockets.

Downloads

You can download the source distributions from http://packages.geniusse.com/source/psocksxx/.

Debian/Ubuntu packages

First you should add the repository key to avoid warnings.

$ wget -q -O - http://packages.geniusse.com/debian/packman.gpg.key | sudo apt-key add -

Then add the following to your /etc/apt/sources.list;

$ deb http://packages.geniusse.com/debian/ [release] main

where the [release] being wheezy, jessie, sid etc.

Finally update your package list and install psocksxx;

$ sudo aptitude update
$ sudo aptitude install libpsocksxx-dev

Dependencies

Bugs and Feature Requests

Please report all bugs and feature requests in bugzilla under the psocksxx project. Known issues can be found here.

Version history

0.0.6 - 03rd October 2014

0.0.5 - 29th June 2014

0.0.4 - 10th November 2013

0.0.3 - 31st October 2013

0.0.2 - 29th September 2013

0.0.1 - 19th September 2013

Compiling from source

If you are using the github source then first you need to initialise autotools.

$ libtoolize (glibtoolize in OS X)
$ aclocal
$ autoheader
$ autoconf
$ automake --add-missing (you will need automake >= 1.13)

Or you can grab the latest snapshot tar from CI artifacts.

After that you can use the usual ./configure && make

Notes

Continuous Integration

There is a continuous integration Jenkins job hosted here which contains the latest artifacts, unit test results and documentation etc.

Doxygen documentation

The latest doxygen documentation can be found at http://jenkins.geniusse.com/job/psocksxx/doxygen/.