summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/TCPIOPlugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4610: Remove duplicated transport code from C++ brokerAndrew Stitcher2013-03-011-195/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1451443 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4315: Changed Connection management name to be supplied by LinkAndrew Stitcher2013-01-081-11/+22
| | | | | | | code on outgoing connections so that the Link code can correlate the connection with the Link using the name. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1430573 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3351: Provide ability to specify the network interfacesAndrew Stitcher2012-11-161-34/+59
| | | | | | Added to TCP (without specific port capability) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1410364 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4272: Large amounts of code are duplicated between the SSL and TCP ↵Andrew Stitcher2012-10-241-4/+4
| | | | | | | | | | | | | | | transports Refactor SslMux support simplifying it and remove need for separate SslHandler and SslIo code. Refactored SSL client code to use the same connect and broker SSL to use the same accept sequences as the TCP code. This also solves QPID-3565: IPv6 support for SSL transport on Unix C++ client/broker Remove now unneeded ssl files. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1401561 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4272: Large amounts of code are duplicated between the SSL and TCP ↵Andrew Stitcher2012-10-241-1/+1
| | | | | | | | transports Add the security related functions to the Socket/Asynch interfaces git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1401560 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4272: Large amounts of code are duplicated between the SSL and TCP ↵Andrew Stitcher2012-10-241-3/+3
| | | | | | | | | | | | | transports Lift Socket into an interface with concrete implementations - BSDSocket, WinSocket and SslSocket - As a side effect completely change the approach we use for platform specific handles: IOHandle now directly carries the platform handle but its real type is only exposed to platform specific code. - Modified RDMA code for the new IOHandle approach git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1401559 13f79535-47bb-0310-9956-ffa450edef68
* Rearrange buffer memory ownership to avoid leaking buffer memoryAndrew Stitcher2012-08-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1371774 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2518: Qpid C++ broker can easily be blocked by client trying to connect ↵Andrew Stitcher2012-05-211-4/+17
| | | | | | | | over SSL port Implement timed disconnect for TCP and for SSL/TCP mux git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1341262 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3514: Allow SSL and non SSL connections on the same port.Andrew Stitcher2011-11-011-0/+3
| | | | | | | | | - Fixes to allow tcp to report the correct port so that the correct name gets used for the pidfile - Improved the ssl tests: refactoring them, and adding a new test for broker chosen ssl muxed ports git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1196319 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3514: Allow SSL and non-SSL connections on the same port. Applied patch ↵Gordon Sim2011-10-201-4/+29
| | | | | | from Zane Bitter and added simple test case. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1187011 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3447: Creating invalid federation link causes file descriptor leakAndrew Stitcher2011-08-221-0/+7
| | | | | | | - Previously we weren't correctly handling synchronous errors when we attempted to connect. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1160458 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3405: IPv6 support for Unix C++ ports:Andrew Stitcher2011-08-121-11/+37
| | | | | | | | | | | | - On the Listen side we create separate listening sockets for IPv4 and IPv6 making sure to not allow the IPv6 socket to run dual stack. This makes the reported IPv4 addresses look "normal" and would allow us to turn control IPv4/IPv6 listening separately. - On the connect side we make sure to try all the addresses returned by getaddrinfo() in order until we either find one that connects or have tried all of them. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1157272 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove a lot of redundant stuff from the Socket codeAndrew Stitcher2011-05-261-5/+0
| | | | | | - Removal of unused code git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128065 13f79535-47bb-0310-9956-ffa450edef68
* Refactor socket connect calls to take a string portAndrew Stitcher2011-05-261-11/+13
| | | | | | This is used used to implement unix domain sockets - QPID-3281 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1128064 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Unique management identifier for connections.Alan Conway2011-02-011-1/+1
| | | | | | | | | | | | | | | Management was using remote socket address (host:port) to identify connections, but this is not a unique identifier. Both the local and remote addresses are needed to uniquely identify a connection - see http://www.faqs.org/rfcs/rfc793.html. This was causing management errors (multiple objects using same identifier) and cluster failures (invalid-arg exception) due to inconsistencies caused by the incorrect management map. This commit uses "localhost:localport-remotehost:remoteport" as a unique identifier. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066220 13f79535-47bb-0310-9956-ffa450edef68
* Split out AsynchConnecter::start from constructor (like other AsynchIO classes)Andrew Stitcher2010-01-211-8/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901547 13f79535-47bb-0310-9956-ffa450edef68
* Rationalised AsynchConnector/Acceptor/IO to all use the same code structureAndrew Stitcher2009-10-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@826032 13f79535-47bb-0310-9956-ffa450edef68
* Fixed tcp nodelay, broken by previous socket code shufflingAndrew Stitcher2009-10-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@826031 13f79535-47bb-0310-9956-ffa450edef68
* Fix memory usage error in AsynchConnectorAndrew Stitcher2009-10-091-8/+19
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@823387 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Tidied up a number of TODO itemsAndrew Stitcher2009-01-081-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732620 13f79535-47bb-0310-9956-ffa450edef68
* * Cyrus SASL intgeration for c++ clientGordon Sim2009-01-061-8/+4
| | | | | | | | * SASL security layer support for c++ client and broker git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732082 13f79535-47bb-0310-9956-ffa450edef68
* Log changes: logging default now notice+, "listening on" messages are at ↵Alan Conway2009-01-051-1/+1
| | | | | | notice level. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@731649 13f79535-47bb-0310-9956-ffa450edef68
* Refactor sys::AsynchIO class to allow reimplementing on other platforms ↵Stephen D. Huston2008-10-211-10/+15
| | | | | | without affecting upper level usage. Resolves QPID-1377 and supplies Windows AsynchIO.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706709 13f79535-47bb-0310-9956-ffa450edef68
* Add option to require that only encrypted connections be accepted.Gordon Sim2008-10-201-3/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706321 13f79535-47bb-0310-9956-ffa450edef68
* Identify transports by nameGordon Sim2008-10-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703558 13f79535-47bb-0310-9956-ffa450edef68
* * revised approach for setting tcp-nodelay on client to avoid breaking ↵Gordon Sim2008-08-051-4/+10
| | | | | | | | | | | | platform abstractions * added ability to set tcp-nodelay on server side of the socket also Merged from r682785. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@682791 13f79535-47bb-0310-9956-ffa450edef68
* Some small changes which clean up header file inclusionsAndrew Stitcher2008-07-091-1/+2
| | | | | | | | and generally start to tidy up the network layer so that it's a bit easier to implement new network transports git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675338 13f79535-47bb-0310-9956-ffa450edef68
* Revert un-necessary Plugin complications. Better solution for plugin ↵Alan Conway2008-07-081-12/+14
| | | | | | extension points coming up... git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674915 13f79535-47bb-0310-9956-ffa450edef68
* Plugin framework change: single PluginFactory creates per-target Plugin ↵Alan Conway2008-06-261-14/+12
| | | | | | instances. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@672032 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1087Ted Ross2008-05-211-29/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@658886 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1050: Patch from Ted Ross:Gordon Sim2008-05-121-16/+38
| | | | | | | | | | | | | | | | | 1) Durability for federation links (broker-to-broker connections) 2) Improved handling of federation links: a) Links can be created even if the remote broker is not reachable b) If links are lost, re-establishment will occur using an exponential back-off algorithm 3) Durability of exchanges is now viewable through management 4) ManagementAgent API has been moved to an interface class to reduce coupling between the broker and manageable plug-ins. 5) General configuration storage capability has been added to the store/recover interface. This is used for federation links. 6) Management object-ids for durable objects are now themselves durable. (Note: some refactoring needed around ProtocolAccess needed to try and reduce dependencies) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@655563 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1040: Patch from Ted Ross: Asynchronous ConnectorAndrew Stitcher2008-05-091-5/+9
| | | | | | | Code to allow non-blocking connection of new sockets git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@654666 13f79535-47bb-0310-9956-ffa450edef68
* * Renamed the Acceptor class to be the ProtocolFactory classAndrew Stitcher2008-04-221-29/+21
| | | | | | | | | which better approximates its current behaviour * Slightly refactored TCPIOPlugin to better approximate how it would look when we implement a proper AsynchConnector git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650657 13f79535-47bb-0310-9956-ffa450edef68
* Refactored Acceptor code to allow multiple acceptors to be present in the brokerAndrew Stitcher2008-04-181-7/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@649689 13f79535-47bb-0310-9956-ffa450edef68
* Split AsynchIOAcceptor into IOHandler and connection control codeAndrew Stitcher2008-04-181-0/+109
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@649666 13f79535-47bb-0310-9956-ffa450edef68