Skip to content

Commit a86b7ae

Browse files
Merge pull request #20 from gomoripeti/fix_links
Fix links
2 parents 2281156 + 872b55c commit a86b7ae

13 files changed

+37
-29
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ and how they interact with the message store, message index and so on.
5151
### Variable Queue Guide ###
5252

5353
Ultimately, messages end up queued at the
54-
[backing queue](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/rabbit_backing_queue.erl). From
54+
[backing queue](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit/src/rabbit_backing_queue.erl). From
5555
here they can be retrieved, acked, purged, and so on. The most common
5656
implementation of the backing queue behaviour is the
5757
`rabbit_variable_queue`
58-
[module](https://github.com/rabbitmq/rabbitmq-server/blob/master/src/rabbit_variable_queue.erl),
58+
[module](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit/src/rabbit_variable_queue.erl),
5959
explained in the following guide:
6060

6161
[Variable Queue](./variable_queue.md)

authorization_and_authentication.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ In practice in 99% of cases only two mechanisms are used:
2525

2626
* `PLAIN` (a set of credentials such as username and password)
2727
* `EXTERNAL`, which assumes authentication happens out of band (not performed
28-
by RabbitMQ authN backends), usually [using x509 (TLS) certificates](https://github.com/rabbitmq/rabbitmq-auth-mechanism-ssl).
28+
by RabbitMQ authN backends), usually [using x509 (TLS) certificates](https://github.com/rabbitmq/rabbitmq-server/tree/master/deps/rabbitmq_auth_mechanism_ssl).
2929
This mechanism ignores client-provided credentials and relies on TLS [peer certificate chain
3030
verification](https://tools.ietf.org/html/rfc6818).
3131

3232
When a client connection reaches [authentication stage](https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.2/src/rabbit_reader.erl#L1304), a mechanism requested by the client
3333
and supported by the server is selected. The mechanism module then checks whether it can
3434
be applied to a connection (e.g. the TLS-based mechanism will reject non-TLS connections).
3535

36-
An authentication mechanism is a module that implements the [rabbit_auth_mechanism](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/rabbit_auth_mechanism.erl) behaviour, which includes
36+
An authentication mechanism is a module that implements the [rabbit_auth_mechanism](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/src/rabbit_auth_mechanism.erl) behaviour, which includes
3737
3 functions:
3838

3939
* `init/1`: self-explanatory

basic_publish.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ called `"my_exchange"`, we will end up with the following record:
7070

7171
Resources like that one are used everywhere in RabbitMQ, so it's a
7272
good idea to study their parts in the
73-
[rabbit_types](https://github.com/rabbitmq/rabbitmq-server/blob/master/src/rabbit_types.erl)
73+
[rabbit_types](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/src/rabbit_types.erl)
7474
module where this declarations are defined.
7575

7676
Once we have the exchange record, `basic.publish` will use it to see

deliver_to_queues.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ via the `delegate` framework. The Erlang message will have this shape:
3939
```
4040

4141
You can learn more about the delegate framework
42-
[here](https://github.com/rabbitmq/rabbitmq-server/blob/master/src/delegate.erl#L19).
42+
[here](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/src/delegate.erl#L10).
4343

4444
## AMQQueue Process Message Handling ##
4545

@@ -51,7 +51,7 @@ callback will ack the `credit_flow` issued in above, and it will
5151
monitor the message sender. The message sender is usually the
5252
`rabbit_channel` that received the process. This pid is tracked using
5353
the
54-
[pmon module](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/pmon.erl). The
54+
[pmon module](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/src/pmon.erl). The
5555
state is kept as part of the `senders` field in the gen_server state
5656
record. Once the message sender is accounted for the delivery is
5757
passed to the function `deliver_or_enqueue/3`. There is where the
@@ -171,7 +171,7 @@ channel forever if a queue that's blocking it is actually down.
171171

172172
Take a look at the `handle_info` channel callback for the case when a
173173
`DOWN` message is
174-
[received](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/rabbit_channel.erl#L578).
174+
[received](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit/src/rabbit_channel.erl#L818).
175175

176176
### Process Mandatory Messages ###
177177

exchange_decorators.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ alone the whole routing logic to the underlying exchange.
88
Decorators are usually associated with exchanges via policies.
99

1010
See the `active_for/1`
11-
[callback](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/rabbit_exchange_decorator.erl#L70)
11+
[callback](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit/src/rabbit_exchange_decorator.erl#L70)
1212
to understand which functions on the exchange would be decorated.
1313

1414
Take a look at the
15-
[Sharding Plugin](https://github.com/rabbitmq/rabbitmq-sharding/blob/master/src/rabbit_sharding_exchange_decorator.erl)
15+
[Sharding Plugin](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl)
1616
and the
17-
[Federation Plugin](https://github.com/rabbitmq/rabbitmq-federation/blob/master/src/rabbit_federation_exchange.erl)
17+
[Federation Plugin](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbitmq_federation/src/rabbit_federation_exchange.erl)
1818
to see how exchange decorators are implemented.

interceptors.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Interceptors are modules implemented as behaviours that allow plugin
44
authors to intercept and modify AMQP methods before they are handled
55
by the channel process. They were originally created for the
66
development of the
7-
[Sharding Plugin](https://github.com/rabbitmq/rabbitmq-sharding/blob/master/README.extra.md#intercepted-channel-behaviour)
7+
[Sharding Plugin](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbitmq_sharding/README.extra.md#intercepted-channel-behaviour)
88
to facilitate mapping queue names as specified by users vs. the actual
99
names used by sharded queues. Another plugin using interceptors is the
1010
[Message Timestamp Plugin](https://github.com/rabbitmq/rabbitmq-message-timestamp)
@@ -16,7 +16,7 @@ behaviour. The most important callback is `intercept/3` where an
1616
interceptor will be provided with the original AMQP method record that
1717
the channel should process, the AMQP method content, if any, and the
1818
interceptor state (see
19-
[init/1](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/rabbit_channel_interceptor.erl#L36)). This
19+
[init/1](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit/src/rabbit_channel_interceptor.erl#L36)). This
2020
callback should take the AMQP method that was passed to it, and the
2121
content, and modify it accordingly. For example, the Sharding Plugin
2222
will receive a `basic.consume` method, with a sharded queue called

internal_events.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ dummy usernames are used, e.g. `rmq-internal` or `rmq-cli`.
6161

6262
## rabbitmq-event-exchange Plugin
6363

64-
[rabbitmq-event-exchange](https://github.com/rabbitmq/rabbitmq-event-exchange) is a plugin that consumes internal events
64+
[rabbitmq-event-exchange](https://github.com/rabbitmq/rabbitmq-server/tree/master/deps/rabbitmq_event_exchange) is a plugin that consumes internal events
6565
and re-publishes them to a topic exchange, thus exposing the events
6666
to clients (applications).
6767

mandatory_message_handling.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@ see how the channel handles mandatory messages.
77

88
## Tracking Mandatory Messages ##
99

10+
Note: Implementation was changed in
11+
[3.8.0](https://github.com/rabbitmq/rabbitmq-server/pull/1831),
12+
removing the dtree strucutre described below.
13+
1014
Mandatory messages are tracked in the `mandatory` field of the
1115
channel's state record. Messages are tracked using our own
12-
[dtree](https://github.com/rabbitmq/rabbitmq-server/blob/master/src/dtree.erl)
16+
[dtree](https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.28/src/dtree.erl)
1317
data structure. As explained in that module documentation, entries on
1418
the _dual-index tree_ are stored using a primary key, a set of
1519
secondary keys, and a value. In the case of tracking mandatory

metrics_and_management_plugin.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ There are four main components:
2828
Core metrics are implemented in the rabbitmq server itself consisting of
2929
a set of of ETS tables storing either counters or proplists containing details
3030
or metrics of various entities. The schema of each table is documented in
31-
[rabbit_core_metrics.hrl](https://github.com/rabbitmq/rabbitmq-common/blob/master/include/rabbit_core_metrics.hrl)
31+
[rabbit_core_metrics.hrl](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/include/rabbit_core_metrics.hrl)
3232
in `rabbitmq-common`.
3333

3434
Mostly counters that are incremented in real-time as message interactions occur
@@ -45,15 +45,15 @@ memory overhead in relation to the number of active entities in the system.
4545

4646
## Management Agent
4747

48-
[rabbitmq-managment-agent](https://github.com/rabbitmq/rabbitmq-management-agent) is responsible for turning core metrics into
48+
[rabbitmq-managment-agent](https://github.com/rabbitmq/rabbitmq-server/tree/master/deps/rabbitmq_management_agent) is responsible for turning core metrics into
4949
data structures suitable for `rabbitmq-management` consumption. This is
5050
done on a per node basis. There are no inter-node communications involved.
5151

5252
The management agent runs a set of metrics collector processes. There is one
5353
process per core metrics table. Each collector periodically read its associated
5454
core metrics table and performs some table-specific processing which produces
5555
new data points to be inserted into the management metrics tables (defined in
56-
[rabbitmq_mgmt_metrics.hrl](https://github.com/rabbitmq/rabbitmq-management-agent/blob/master/include/rabbit_mgmt_metrics.hrl)).
56+
[rabbitmq_mgmt_metrics.hrl](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbitmq_management_agent/include/rabbit_mgmt_metrics.hrl)).
5757
The collection interval is determined by the smallest configured retention intervals.
5858

5959
In addition to the collector processes there is a garbage collection event
@@ -76,7 +76,7 @@ This has no effect on the user but test suites that use the HTTP API would often
7676

7777
### exometer_slide
7878

79-
The [exometer_slide](https://github.com/rabbitmq/rabbitmq-management-agent/blob/master/src/exometer_slide.erl)
79+
The [exometer_slide](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbitmq_management_agent/src/exometer_slide.erl)
8080
module is a key part of the management stats processing.
8181
It allows us to reasonably efficiently store a sliding window of incoming metrics
8282
and also perform various processing on this window. It was extracted from the
@@ -93,7 +93,7 @@ The `rabbitmq-management` plugin is now mostly a fairly thin HTTP API layer.
9393

9494
It also handles the distributed querying and stats merging logic. When a stats
9595
request comes in the plugin contacts each node in parallel for a set of "raw"
96-
stats (typically `exometer_slide` instances). It uses the [delegate](https://github.com/rabbitmq/rabbitmq-common/blob/master/src/delegate.erl)
96+
stats (typically `exometer_slide` instances). It uses the [delegate](https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/src/delegate.erl)
9797
module for this and has it's own `delegate` supervision tree to avoid affecting
9898
the one used for core rabbit delegations. Once stats for
9999
each node has been collected it merges the data then proceeds with processing

publisher_confirms.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ documentation in order to understand the feature.
1010

1111
## Tracking Confirms ##
1212

13+
Note: Implementation was slightly changed in
14+
[3.8.0](https://github.com/rabbitmq/rabbitmq-server/pull/1893),
15+
replacing the dtree strucutre described below.
16+
1317
Confirms work a bit differently than mandatory messages and
1418
`basic.return`. In the case of mandatory messages we only need to send
1519
a `basic.return` if the message can't be routed, but for publisher
@@ -19,7 +23,7 @@ fields in the channel's state record in order to track this
1923
information.
2024

2125
The first one is a
22-
[dtree](https://github.com/rabbitmq/rabbitmq-server/blob/master/src/dtree.erl)
26+
[dtree](https://github.com/rabbitmq/rabbitmq-server/blob/v3.7.28/src/dtree.erl)
2327
stored in the field `unconfirmed`, which keeps track of the `MsgSeqNo`
2428
associated with the QPids to which the message was delivered and
2529
the Exchange Name used to publish the message. As explained in the

0 commit comments

Comments
 (0)