| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Doing this for code clarity, as its easier to see what the issues are
when you have all implementations in one file
|
|
|
|
|
|
|
|
|
|
| |
Publicly define the error codes returned from the various public API
functions. The error codes are defined in the amqp_status_enum and are
all negative in value to work with functions that return positive
values.
OS and SSL specific codes are no longer munged into the error code, as
it is unlikely for that information to be useful to library users.
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
|
|
|
|
|
| |
The general idea is to have a non-instantiable socket base class.
Connection-specific sub-classes provide a constructor and methods for
modifying connection parameters. `amqp_socket_close()` is the
destructor.
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change abstracts out the networking functions so that the
user can provide an SSL/TLS implementation.
Callback functions replace `writev()`, `send()`, and `recv()` (there
is also a callback for error reporting). The default interface remains
unchanged. If the user wants to create a SSL/TLS connection they first
negotiate the connection and then use the new function
`amqp_set_sockfd_full()` to provide the networking implementation for
their SSL/TLS library. The user may provide an optional pointer to data
that is passed through to the networking functions.
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The order of preprocessor defines in librabbitmq/unix/socket.h prevents
DISABLE_SIGPIPE_WITH_SETSOCKOPT from ever being defined, and thus
SIGPIPE not being disabled correctly. This fixes that error.
|
|
|
|
|
| |
sys/types.h must be included before sys/socket.h on certain older
BSD variants
|
|
|
|
|
| |
Use setsockopt(SO_NOSIGPIPE) on platforms that don't have MSG_NOSIGNAL
and do have SO_NOSIGPIPE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable the following GCC options:
1. -Wstrict-prototypes
2. -Wcast-align
3. -fno-common
4. -fvisibility=hidden
This commit also includes some general cleanup of header files (mostly
for readability).
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
| |
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
| |
And generally bring debian/copyright up to date.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
And fix up the resulting warnings
We don't use "-ansi -pedantic" in the tools dir, because that code
relies on libpopt, and so is unlikely ever to work with the Microsoft
compiler anyway.
|
|
|
|
|
|
|
|
| |
Functions returning a heap-allocated string should return a "char *",
not a "const char *": Because the result is heap-allocated and becomes
the responsibility of the caller, it is certainly modifiable. And the
pointer will likely get passed to free(), triggering a conversion
warning from gcc. So remove all the relevant consts.
|
| |
|
|
|
|
| |
To be consistent with the reduced consistency.
|
| |
|
| |
|
|
|