summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Enable OSX for travis-ci.ci_maxosAlan Antonuk2015-08-101-2/+8
|
* Build on OpenBSD by including <sys/socket.h> for setsockopt and ↵Devin Smith2015-07-171-0/+2
| | | | <netinet/in.h> for IPPROTO_TCP definition.
* If channel_max is 0, use server's channel_maxCarl Hörberg2015-07-152-3/+8
|
* Switch travis config to use container based-builders.Alan Antonuk2015-07-091-11/+4
|
* Use WSAEWOULDBLOCK instead of EWOULDBLOCK on Win32win32_wouldblockAlan Antonuk2015-07-071-1/+14
| | | | These are not the same constants, rabbitmq-c fails on Win32 as a result.
* Add missing files to Makefile.ammissing_filesAlan Antonuk2015-06-301-1/+6
|
* Bumping version for development.Alan Antonuk2015-06-163-5/+5
|
* Preparation for v0.7.0 release.v0.7.0Alan Antonuk2015-06-164-9/+31
|
* ci: add asan and tsan builds to travis ci.ci_buildsAlan Antonuk2015-06-072-10/+32
| | | | | asan = address sanitizer tsan = thread sanitizer
* tests: fix memory leak in test_table.cAlan Antonuk2015-06-071-1/+2
|
* cmake: don't override CMAKE_C_FLAGS under clang.Alan Antonuk2015-06-071-1/+1
| | | | | The -Wall -Wextra... etc should be prepended to any passed in CMAKE_C_FLAGS as is done with gcc and others.
* ci: simplify travis config.Alan Antonuk2015-06-061-27/+16
|
* ci: add travis.sh for running various ci configs.Alan Antonuk2015-06-061-0/+25
|
* Win32: fixup a few MSVC warnings in test & examplesAlan Antonuk2015-06-023-5/+12
|
* ci: enable static-build & building of tests on appveyorAlan Antonuk2015-06-011-1/+1
|
* win32: Enable static builds on Win32.Alan Antonuk2015-06-012-4/+1
|
* ycm: add -std=gnu90 -DHAVE_POLL flags to ycm config.Alan Antonuk2015-06-011-1/+2
|
* Lib: add select()-based implementation of poll()Alan Antonuk2015-06-016-5/+218
| | | | | Add select() based poll() implementation for platforms that either support this better (Win32) or don't support poll().
* Lib: add AMQP_SF_POLL{IN,OUT} flags for amqp_pollAlan Antonuk2015-06-013-26/+25
| | | | | | Get rid of amqp_poll_{read,write} and flatten the call-tree to amqp_poll with an appropriate flag. Done in preparation for adding a select()-based implementation of the amqp_poll() function.
* Add amqp_time_tv_until() function.Alan Antonuk2015-06-012-0/+52
|
* lib: amqp_ssl_socket_send ign unused parameter.warnfixAlan Antonuk2015-06-011-1/+1
|
* lib: remove unused buffer in opensslAlan Antonuk2015-05-311-3/+0
|
* lib: remove unused buffer in amqp_tcp_socket.Alan Antonuk2015-05-311-3/+0
|
* lib: use TCP_NOPUSH on Mac OS X/*BSD.Alan Antonuk2015-05-311-0/+23
|
* lib: use MSG_MORE on Linux for basic.publishAlan Antonuk2015-05-317-30/+60
| | | | | | | | As a performance optimization in the send path, add an AMQP_SF_MORE flag indicating that more data is intended to be sent, and that packets shouldn't be sent out on the wire unless there is a full packet's worth of data available. Use this to specify MSG_MORE to send() on Linux.
* amqp_openssl: *_ssl_send() should return number of bytes sentpr271Maciej Borzecki2015-05-211-1/+0
| | | | | | Function amqp_ssl_socket_send() should return the number of bytes written. Retruning AMQP_STATUS_OK on success will cause all amqp_socket_send() with SSL socket implementation to behave incorrectly.
* CMake: build with -std=c90 or -std=gnu90 if possiblepr267Maciek Borzecki2015-05-192-3/+14
| | | | | | Autotools build uses c90/gnu90. Add similar functionality for cmake build. This will work for gcc and clang, while for other compilers the checks will just fail and no additional flags will be added.
* amqp_socket: fix C89 compatibilityMaciek Borzecki2015-05-181-1/+2
| | | | | If building with a compiler that does not support C99, this would raise a warning.
* amqp_openssl: fix SSL_connect() status checkMaciej Borzecki2015-05-141-1/+1
| | | | | | | | | | | | | | According to documentation SSL_connect() can return: - 1 if handshake was successful or - 0 or < 0 if handshake failed and connection was cleaned up or communcation error occurred When nonblocking flag is set on the socket and handshake is in progress, SSL_connect() retruns -1 and sets error SSL_ERROR_WANT_READ. The test will then skip the switch() branch, and proceed forward with hanshake procedure in unfinished state. This may lead to certificate verification failure, as should the handshake be interrupted too soon, no server certificates would be received.
* travis: fix test in build scriptMaciek Borzecki2015-05-141-1/+1
|
* amqp_socket: res may be returned uninitializedMaciek Borzecki2015-05-141-1/+0
| | | | | | Remove scope local res variable that shadows the function local variable defined in amqp_socket.c:1118. This removes a possible branch point that triggered a return of uninitialized value.
* amqp: helper macro to generate AMQP_VERSION codeMaciej Borzecki2015-05-141-5/+23
| | | | The helper macro makes it easier to add #if/#endif build time checks.
* examples: replace usleep() with nanosleep()Maciej Borzecki2015-05-141-5/+5
| | | | | | | Accessing usleep() requires _BSD_SOURCE feature test macro to be set. However, _SVID_SOURCE is set as well, what will cause deprecation warnings when building with glibc >= 2.20. The patch replaced usleep() with nanosleep() to avoid these problems.
* Add test for amqp_merge_capabilities function.auth_failureAlan Antonuk2015-05-062-0/+208
|
* Handle connection.close on auth failure.Alan Antonuk2015-05-061-14/+34
|
* Add amqp_get_client_properties functionAlan Antonuk2015-05-064-2/+26
|
* Make amqp_table_clone first parameter const.Alan Antonuk2015-05-062-4/+4
|
* Add auth failure client capability as default.Alan Antonuk2015-05-061-1/+10
|
* Add cababilities merge function.Alan Antonuk2015-05-062-54/+64
| | | | Add amqp_merge_capabilities function that merges client-properties tables.
* Add convenience funcs for creating table entries.Alan Antonuk2015-05-053-30/+137
|
* Add amqp_bytes_equal comparison function.Alan Antonuk2015-05-052-0/+10
|
* Don't redefine EINPROGRESS EWOULDBLOCK on Win32.Alan Antonuk2015-05-042-5/+4
| | | | | These constants are already defined in the Win32, and they're being incorrectly redefined by rabbitmq-c.
* Disable MSVC secure-RTL function warnings.Alan Antonuk2015-05-044-0/+19
| | | | | If this project was Win32 only, I'd use them, but adding lots of ifdefs to kill warnings doesn't make a whole lot of sense.
* Fix int truncation warnings on Win32Alan Antonuk2015-05-049-161/+247
|
* 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
|