| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
This makes license detection machine-readable, and makes source files more concise and easier
to read and understand.
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
| |
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
|
|
|
| |
This codepath should not be hit, as XMLTO is required to be defined if
BUILD_TOOLS_DOCS is set (it should error-our earlier in CMake.
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
| |
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
|
|
| |
HAVE_CONFIG_H is never defined, thus this is never included.
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To help package managers cmake install commands now specify a COMPONENT.
Components include:
- rabbitmq-c-runtime: libraries necessary for running programs linked
against rabbitmq-c.
- rabbitmq-c-development: static libraries, headers necessary for
building programs against rabbitmq-c
- rabbitmq-c-tools: CLI tools for interacting with RabbitMQ broker
- rabbitmq-c-tool-docs: man pages for CLI tools.
This also updates the tool install directory to use GnuInstallDirs-
compatible location
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move official rabbitmq-c includes under the rabbitmq-c, thus new
programs should use the following include paths:
amqp.h -> rabbitmq-c/amqp.h
amqp_tcp_socket.h -> rabbitmq-c/tcp_socket.h
amqp_ssl_socket .h-> rabbitmq-c/ssl_socket.h
amqp_framing.h -> rabbitmq-c/framing.h
Existing include files are left with a warning message and including
their new equivalents, so existing programs should compile without
modification.
Signed-off-by: GitHub <noreply@github.com>
|
|
|
|
|
|
|
|
|
|
| |
to allow to override build date with SOURCE_DATE_EPOCH
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
Also use UTC to be independent of timezone.
|
|
|
|
|
|
|
|
| |
Set both the host and port when a ':' isn't found in in the --server
flag. The attempted fix in #622 was not complete as the host was not
properly set.
Fixes #621
|
|
|
|
|
|
|
| |
Set the port to 5672 and 5671 in SSL mode in the tools when the --server
flag is used, but does not specify a port.
Fixes: #621
|
| |
|
| |
|
|
|
|
| |
They're hard to keep in sync with .clang-format or other tools.
|
|
|
| |
Fixes #451
|
| |
|
|
|
|
|
|
|
|
| |
--url parameter should not be specified with the --server --port
--username and --password parameters. Correct parameter processing
routines to correctly enforce this.
Fixes #364
|
| |
|
| |
|
|
|
|
|
| |
In tools/common.c `#ifdef WITH_SSL` is used but never defined if SSL support is
desired.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you have a single consumer C₁ and 10 messages are published, all 10
will be streamed to that one customer. Assume each message takes a few
minutes to be handled.
If a second consumer C₂ comes up before C₁ is able to process its first
message, it will stay idle until new messages are published, while C₁
will still have to process the other 9 messages after finishing with the
first one.
If both consumers were started with `--messages 1`, C₁ would only fetch
a single message, and start handling it; C₂ would start and already
receive the second message .
|
|
|
|
|
|
| |
This change fixes a bug where delivery mode value was hardcoded to
"persistent" even when --persistent flag wasn't specified on the command
line options.
|
| |
|
|
|
|
|
|
|
|
| |
Declare non-exclusive queue by default, which allows task queue
round-robin publishing when binding to a "direct" typed exchange with
a routing key matching the publisher's one and the queue name.
The "-d" option is replaced with a "-x" option to explicitly declare
an exclusive queue if needed.
|
|
|
|
|
|
|
|
| |
Improve the socket interface by making the amqp_connection_state_t
object the amqp_socket_t owner, and tie its lifetime to the connection's
lifetime. This prevents a class of silly errors where the socket object
isn't freed, or the socket object is assigned to two different
connection objects
|
| |
|
|
|
|
|
|
| |
Preserve API/ABI of amqp_error_string() by having it return a string
allocated on the heap. Deprecate this function in favor of
amqp_error_string2() which returns a statically allocated string
|
|
|
|
| |
This is an API/ABI break.
|
| |
|
|
|
|
| |
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
|
|
|
|
| |
It doesn't make much sense to have separate APIs to set the client
key/cert pair. This change also make it easier to port to other
backends.
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
| |
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
1. Use a single instance of the vtable for each object. This saves some
memory at the expense of an extra pointer dereference per method
invocation.
2. Compare the class vtable pointer in sub-class methods to determine if
the object type is correct.
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>
|
|
|
|
|
|
|
| |
Also reduce OpenSSL requirement to 1.0.0 (0.9.8 would probably be fine
as well).
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
| |
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
| |
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>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Issue was FindPackageHandleStandardArgs upper-cases the package name
so when XmlTo was passed to the FIND_PACKAGE_HANDLE_STANDARD_ARGS
function it created the variable XMLTO_FOUND instead of the expected
XmlTo_FOUND
|
|
|
|
|
|
|
|
| |
Changes to support building rabbitmq-c without having run the python
code generator, or do a git submodule init/update.
This is to facilitate creating links to downloadable source archives
from github
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Added: -Wall -Wextra -pedantic -Wstrict-prototypes -Wcast-align
-Wno-unused-function -fno-common -fvisibility=hidden
The library compiles cleanly with the exception of the tools dir
which has trouble with the initializer lists
|
|
|
|
|
|
|
| |
1. Standardize on `win32` vs `windows/win32`
2. Move `msinttypes` into platform directory
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|
|
|
|
| |
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
|