summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Squash warnings about static initializers in tools.initializer_warningsAlan Antonuk2015-05-035-24/+24
|
* Check for heartbeats when in blocking send.timer_refactorAlan Antonuk2015-05-032-5/+32
| | | | | | | Check for recv heartbeats when blocking on sending to the socket. A blocked send can indicate that the broker is applying backpressure to publishers, it could also be that the TCP connection is dead, checking for recv heartbeats can give an earlier indication that the connection is broken.
* Remove writev specific code.Alan Antonuk2015-05-035-228/+5
|
* Refactor frame encoding to its own function.Alan Antonuk2015-05-031-40/+45
| | | | | | | | | | | Refactor frame encoding into its own function. This is in preparation for doing heartbeats while waiting for the socket to become writable. As a de-optimization: stop using writev for the body frames. This now requires memcpy'ing the whole message body, which is an additional copy. On the flip side this is already done behind the scenes on Linux and anything using OpenSSL. This may also improve performance as fewer OS calls are made when writev doesn't support SO_NOSIGNAL.
* Fixup of commentAlan Antonuk2015-05-031-1/+1
|
* Extract poll selection from send/writevAlan Antonuk2015-05-031-30/+19
|
* Extract deadline as param of try_writev/try_sendAlan Antonuk2015-05-033-20/+8
|
* Refactor heartbeat timeout code to be simplerAlan Antonuk2015-05-036-120/+140
| | | | | Refactor the heartbeat timeout code to hopefully simplify it and hopefully make it less hairy to deal with in the future.
* Rename amqp_timer_t related functions.Alan Antonuk2015-05-035-71/+100
| | | | | Rename amqp_timer_t related functions to improve readability of the code and clarify what they do.
* Rename amqp_timer.[ch] to amqp_time.[ch].Alan Antonuk2015-05-0310-10/+10
| | | | Rename the files to better reflect the functions that they contain.
* Correct configure_file in tests directory.Alan Antonuk2015-05-021-1/+1
| | | | COPY_ONLY should be COPYONLY. (Yay developer warnings).
* Correct buffer recalc error in amqp_try_sendAlan Antonuk2015-04-301-1/+1
| | | | | This one only shows up when send() does a partial read, which is why it wasn't caught immediately. Need some better tests for this.
* Update README.mdAlan Antonuk2015-04-271-6/+3
|
* Add nonblocking sockets in OpenSSL socket implnonblocking_socketAlan Antonuk2015-04-191-5/+55
|
* Simplify the timer/timeout logic.Alan Antonuk2015-04-196-166/+146
| | | | | | | | | | | Instead of passing around a start time and timeout interval, calculate this early and pass around the timeout value (as a implementation detail), then calculate against current timestamp. This simplifies the code, gives a more realistic 'timeout' for the function at the cost of potentially a few more timer pings. Conflicts: librabbitmq/amqp_socket.c
* Refactor read/write poll function usage.Alan Antonuk2015-04-192-88/+78
|
* Add support for send/writev in non-blocking modeAlan Antonuk2015-04-194-68/+197
|
* Add support for non-blocking read in rabbitmq-cAlan Antonuk2015-04-191-58/+60
|
* Return NEEDREAD status from amqp_tcp_socket_recvAlan Antonuk2015-04-192-4/+24
| | | | | When tcp socket is in non-blocking mode, return AMQP_STATUS_PRIVATE_SOCKET_NEEDREAD when socket doesn't have any data in it.
* Leave socket as non-blocking after connectAlan Antonuk2015-04-191-12/+0
|
* Simplify amqp_open_socket_nonblock.Alan Antonuk2015-04-191-80/+65
|
* Build only shared libs on AppVeyor config.Alan Antonuk2015-04-181-1/+1
| | | | rabbitmq-c doesn't currently work as a static lib on Win32.
* Disable tests in appveyor config.Alan Antonuk2015-04-181-1/+1
| | | | | Tests require building statically, and its not possible to build statically on Win32.
* fix WSAEINVAL WSAPoll due to POLERR in eventsIvan Efimov2015-04-081-1/+1
|
* Unit test for verify sasl mechanismsBhasker Allam2015-04-055-3/+86
|
* Add error codes for unsupported SASL type.Bhasker Allam2015-04-053-1/+4
| | | | | Add error codes and associated error strings when the broker does not support the desired SASL method.
* Add EXTERNAL SASL mechanism.Alan Antonuk2015-04-052-2/+73
|
* Make tests only link against static rabbitmqAlan Antonuk2015-04-053-7/+12
| | | | | This gets around issues with symbol visibility issues while testing functions that are not declared to be visibile outside the library.
* Remove trailing whitespace in CMakeLists.txtAlan Antonuk2015-04-051-1/+1
|
* Add minimal appveyor configuration.appveyorAlan Antonuk2015-03-171-0/+14
|
* Add support for heartbeats in tools.tools_heartbeatAlan Antonuk2015-03-061-1/+10
|
* Bumping revision for development.Alan Antonuk2015-02-223-5/+5
|
* Preparation for v0.6.0 release.v0.6.0Alan Antonuk2015-02-225-12/+21
|
* Add methods to get frame_max and heartbeat of the connectionBogdan Padalko2015-02-112-0/+40
|
* Update rabbitmq-users list linkAlan Antonuk2015-01-301-1/+1
|
* Give the docs section its own headerDave Rolsky2015-01-121-0/+2
|
* Add test for amqp_error_string2() for new values.Alan Antonuk2015-01-065-2/+70
| | | | | Add a tests that ensures that we add error message strings as we add new amqp_status_enum values.
* Add error strings for new AMQP_STATUS values.Alan Antonuk2015-01-062-1/+5
|
* Enable SSL verification of hostname using certificates with Subject ↵Yevhen Kyriukha2015-01-061-29/+75
| | | | | | | | Alternate Names DNS entries. Additional check for entries in SSL certificate. Signed-off-by: Yevhen Kyriukha <kirgene@gmail.com>
* Check for closed socket in amqp_ssl_socket_send().Alan Antonuk2015-01-061-0/+4
|
* Remove extra line from docs.Alan Antonuk2015-01-021-1/+0
| | | | | Remove extra text from documentation of amqp_basic_publish that was left there from an earlier edit.
* Alloc an struct when decoding methods w/o fieldsAlan Antonuk2014-12-292-24/+39
| | | | | | | For consistency sake, allocate and return a struct when decoding methods that don't have fields. Fixes #225
* Add blocks to allow compilation with C89 compilers.Alan Antonuk2014-12-291-77/+87
| | | | C89 compilers can't do mixed definitions and code.
* Check for double close/open in socket implAlan Antonuk2014-12-293-15/+41
| | | | | | | Check to state of socket when doing open/read/write/close to prevent double-open and double-close issues with the socket implementation. Fixes #228
* Enable auto_delete & internal for exchange.declaredeclare_xchg_parmsAlan Antonuk2014-10-195-7/+10
| | | | | | | | Enable auto_delete and internal parameters of amqp_exchange_declare() in codegen. These were once not generated because RabbitMQ did not support these parameters. The broker now supports these and so should we. This fixes #218
* Regen amqp_framing.[ch] to include autogend docs.framing_docsAlan Antonuk2014-10-192-346/+921
| | | | Doing this because the next change will cause a ton of diffs otherwise.
* Enable SSL support for tools too.Michael Fladischer2014-10-171-0/+4
| | | | | In tools/common.c `#ifdef WITH_SSL` is used but never defined if SSL support is desired.
* Fix spelling in comment for amqp_socket_writev()Eddy Jansson2014-10-141-1/+1
|
* Bumping revision for development.Alan Antonuk2014-09-133-5/+5
|
* Preparation for v0.5.2 release.v0.5.2Alan Antonuk2014-09-135-6/+14
|