|
88 | 88 | (T =:= classic orelse T =:= ?amqqueue_v1_type)). |
89 | 89 |
|
90 | 90 | -record(amqqueue, { |
91 | | - name :: rabbit_amqqueue:name() | '_', %% immutable |
92 | | - durable :: boolean() | '_', %% immutable |
93 | | - auto_delete :: boolean() | '_', %% immutable |
94 | | - exclusive_owner = none :: pid() | none | '_', %% immutable |
95 | | - arguments = [] :: rabbit_framing:amqp_table() | '_', %% immutable |
96 | | - pid :: pid() | ra_server_id() | none | '_', %% durable (just so we |
97 | | - %% know home node) |
98 | | - slave_pids = [] :: [pid()] | none | '_', %% transient |
99 | | - sync_slave_pids = [] :: [pid()] | none| '_',%% transient |
100 | | - recoverable_slaves = [] :: [atom()] | none | '_', %% durable |
101 | | - policy :: proplists:proplist() | |
102 | | - none | undefined | '_', %% durable, implicit update as |
103 | | - %% above |
104 | | - operator_policy :: proplists:proplist() | |
105 | | - none | undefined | '_', %% durable, implicit |
106 | | - %% update as above |
107 | | - gm_pids = [] :: [{pid(), pid()}] | none | '_', %% transient |
108 | | - decorators :: [atom()] | none | undefined | '_', %% transient, |
109 | | - %% recalculated |
110 | | - %% as above |
111 | | - state = live :: atom() | none | '_', %% durable (have we crashed?) |
112 | | - policy_version = 0 :: non_neg_integer() | '_', |
113 | | - slave_pids_pending_shutdown = [] :: [pid()] | '_', |
114 | | - vhost :: rabbit_types:vhost() | undefined | '_', %% secondary index |
115 | | - options = #{} :: map() | '_', |
116 | | - type = ?amqqueue_v1_type :: module() | '_', |
117 | | - type_state = #{} :: map() | '_' |
| 91 | + %% immutable |
| 92 | + name :: rabbit_amqqueue:name() | ets:match_pattern(), |
| 93 | + %% immutable |
| 94 | + durable :: boolean() | ets:match_pattern(), |
| 95 | + %% immutable |
| 96 | + auto_delete :: boolean() | ets:match_pattern(), |
| 97 | + %% immutable |
| 98 | + exclusive_owner = none :: pid() | none | ets:match_pattern(), |
| 99 | + %% immutable |
| 100 | + arguments = [] :: rabbit_framing:amqp_table() | ets:match_pattern(), |
| 101 | + %% durable (just so we know home node) |
| 102 | + pid :: pid() | ra_server_id() | none | ets:match_pattern(), |
| 103 | + %% transient |
| 104 | + slave_pids = [] :: [pid()] | none | ets:match_pattern(), |
| 105 | + %% transient |
| 106 | + sync_slave_pids = [] :: [pid()] | none| ets:match_pattern(), |
| 107 | + %% durable |
| 108 | + recoverable_slaves = [] :: [atom()] | none | ets:match_pattern(), |
| 109 | + %% durable, implicit update as above |
| 110 | + policy :: proplists:proplist() | none | undefined | ets:match_pattern(), |
| 111 | + %% durable, implicit update as above |
| 112 | + operator_policy :: proplists:proplist() | none | undefined | ets:match_pattern(), |
| 113 | + %% transient |
| 114 | + gm_pids = [] :: [{pid(), pid()}] | none | ets:match_pattern(), |
| 115 | + %% transient, recalculated as above |
| 116 | + decorators :: [atom()] | none | undefined | ets:match_pattern(), |
| 117 | + %% durable (have we crashed?) |
| 118 | + state = live :: atom() | none | ets:match_pattern(), |
| 119 | + policy_version = 0 :: non_neg_integer() | ets:match_pattern(), |
| 120 | + slave_pids_pending_shutdown = [] :: [pid()] | ets:match_pattern(), |
| 121 | + %% secondary index |
| 122 | + vhost :: rabbit_types:vhost() | undefined | ets:match_pattern(), |
| 123 | + options = #{} :: map() | ets:match_pattern(), |
| 124 | + type = ?amqqueue_v1_type :: module() | ets:match_pattern(), |
| 125 | + type_state = #{} :: map() | ets:match_pattern() |
118 | 126 | }). |
119 | 127 |
|
120 | 128 | -type amqqueue() :: amqqueue_v2(). |
|
146 | 154 |
|
147 | 155 | -type amqqueue_pattern() :: amqqueue_v2_pattern(). |
148 | 156 | -type amqqueue_v2_pattern() :: #amqqueue{ |
149 | | - name :: rabbit_amqqueue:name() | '_', |
150 | | - durable :: '_', |
151 | | - auto_delete :: '_', |
152 | | - exclusive_owner :: '_', |
153 | | - arguments :: '_', |
154 | | - pid :: '_', |
155 | | - slave_pids :: '_', |
156 | | - sync_slave_pids :: '_', |
157 | | - recoverable_slaves :: '_', |
158 | | - policy :: '_', |
159 | | - operator_policy :: '_', |
160 | | - gm_pids :: '_', |
161 | | - decorators :: '_', |
162 | | - state :: '_', |
163 | | - policy_version :: '_', |
164 | | - slave_pids_pending_shutdown :: '_', |
165 | | - vhost :: '_', |
166 | | - options :: '_', |
167 | | - type :: atom() | '_', |
168 | | - type_state :: '_' |
| 157 | + name :: rabbit_amqqueue:name() | ets:match_pattern(), |
| 158 | + durable :: ets:match_pattern(), |
| 159 | + auto_delete :: ets:match_pattern(), |
| 160 | + exclusive_owner :: ets:match_pattern(), |
| 161 | + arguments :: ets:match_pattern(), |
| 162 | + pid :: ets:match_pattern(), |
| 163 | + slave_pids :: ets:match_pattern(), |
| 164 | + sync_slave_pids :: ets:match_pattern(), |
| 165 | + recoverable_slaves :: ets:match_pattern(), |
| 166 | + policy :: ets:match_pattern(), |
| 167 | + operator_policy :: ets:match_pattern(), |
| 168 | + gm_pids :: ets:match_pattern(), |
| 169 | + decorators :: ets:match_pattern(), |
| 170 | + state :: ets:match_pattern(), |
| 171 | + policy_version :: ets:match_pattern(), |
| 172 | + slave_pids_pending_shutdown :: ets:match_pattern(), |
| 173 | + vhost :: ets:match_pattern(), |
| 174 | + options :: ets:match_pattern(), |
| 175 | + type :: atom() | ets:match_pattern(), |
| 176 | + type_state :: ets:match_pattern() |
169 | 177 | }. |
170 | 178 |
|
171 | 179 | -export_type([amqqueue/0, |
@@ -570,7 +578,9 @@ field_vhost() -> |
570 | 578 | pattern_match_all() -> |
571 | 579 | #amqqueue{_ = '_'}. |
572 | 580 |
|
573 | | --spec pattern_match_on_name(rabbit_amqqueue:name()) -> amqqueue_pattern(). |
| 581 | +-spec pattern_match_on_name(Name) -> Pattern when |
| 582 | + Name :: rabbit_amqqueue:name() | ets:match_pattern(), |
| 583 | + Pattern :: amqqueue_pattern(). |
574 | 584 |
|
575 | 585 | pattern_match_on_name(Name) -> |
576 | 586 | #amqqueue{name = Name, _ = '_'}. |
|
0 commit comments