Skip to content

Commit bb0bcd8

Browse files
committed
Rename broadcast messages into shared messages
Less confusing. Closes #686. No module rename yet, will be done in a separate commit to make the diff readable.
1 parent 14a38e1 commit bb0bcd8

12 files changed

Lines changed: 298 additions & 296 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12-
- Broadcast messages and events via `BroadcastMessageAppExt` and `BroadcastEventAppExt`. Emitted as `Broadcast<M>` on both the sender and the receiver to allow shared logic for client-side prediction.
12+
- LocalOrRemote messages and events via `SharedMessageAppExt` and `SharedEventAppExt`. Emitted as `LocalOrRemote<M>` on both the sender and the receiver to allow shared logic for client-side prediction.
1313
- `iter_received` and `iter_sent` methods on `ClientMessages` and `ServerMessages` to inspect inbound and outbound messages on a channel without consuming them.
1414

1515
### Changed

src/client/message.rs

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@ impl Plugin for ClientMessagePlugin {
5151
.build_state(app.world_mut())
5252
.build_system(send);
5353

54-
let broadcast_send_fn = (
54+
let send_shared_fn = (
5555
FilteredResourcesMutParamBuilder::new(|builder| {
56-
for message in registry.iter_all_broadcast() {
56+
for message in registry.iter_all_shared() {
5757
builder.add_write_by_id(message.messages_id());
5858
}
5959
}),
6060
FilteredResourcesMutParamBuilder::new(|builder| {
61-
for message in registry.iter_all_broadcast() {
62-
builder.add_write_by_id(message.broadcast_id());
61+
for message in registry.iter_all_shared() {
62+
builder.add_write_by_id(message.shared_messages_id());
6363
}
6464
}),
6565
ParamBuilder,
@@ -68,19 +68,19 @@ impl Plugin for ClientMessagePlugin {
6868
ParamBuilder,
6969
)
7070
.build_state(app.world_mut())
71-
.build_system(broadcast_send);
71+
.build_system(send_shared);
7272

73-
let broadcast_trigger_fn = (
73+
let trigger_shared_fn = (
7474
FilteredResourcesMutParamBuilder::new(|builder| {
75-
for event in registry.iter_broadcast_events() {
76-
builder.add_write_by_id(event.message().broadcast_id());
75+
for event in registry.iter_shared_events() {
76+
builder.add_write_by_id(event.message().shared_messages_id());
7777
}
7878
}),
7979
ParamBuilder,
8080
ParamBuilder,
8181
)
8282
.build_state(app.world_mut())
83-
.build_system(broadcast_trigger);
83+
.build_system(trigger_shared);
8484

8585
let receive_builder = (
8686
FilteredResourcesMutParamBuilder::new(|builder| {
@@ -144,21 +144,21 @@ impl Plugin for ClientMessagePlugin {
144144
.build_state(app.world_mut())
145145
.build_system(send_locally);
146146

147-
let broadcast_send_locally_fn = (
147+
let send_shared_locally_fn = (
148148
FilteredResourcesMutParamBuilder::new(|builder| {
149-
for message in registry.iter_all_broadcast() {
150-
builder.add_write_by_id(message.broadcast_id());
149+
for message in registry.iter_all_shared() {
150+
builder.add_write_by_id(message.shared_messages_id());
151151
}
152152
}),
153153
FilteredResourcesMutParamBuilder::new(|builder| {
154-
for message in registry.iter_all_broadcast() {
154+
for message in registry.iter_all_shared() {
155155
builder.add_write_by_id(message.messages_id());
156156
}
157157
}),
158158
ParamBuilder,
159159
)
160160
.build_state(app.world_mut())
161-
.build_system(broadcast_send_locally);
161+
.build_system(send_shared_locally);
162162

163163
let reset_fn = (
164164
FilteredResourcesMutParamBuilder::new(|builder| {
@@ -172,7 +172,7 @@ impl Plugin for ClientMessagePlugin {
172172
}
173173
}),
174174
FilteredResourcesMutParamBuilder::new(|builder| {
175-
for message in registry.iter_all_broadcast() {
175+
for message in registry.iter_all_shared() {
176176
builder.add_write_by_id(message.messages_id());
177177
}
178178
}),
@@ -206,10 +206,10 @@ impl Plugin for ClientMessagePlugin {
206206
.add_systems(
207207
PostUpdate,
208208
(
209-
(send_fn, broadcast_send_fn).run_if(in_state(ClientState::Connected)),
210-
(send_locally_fn, broadcast_send_locally_fn)
209+
(send_fn, send_shared_fn).run_if(in_state(ClientState::Connected)),
210+
(send_locally_fn, send_shared_locally_fn)
211211
.run_if(in_state(ClientState::Disconnected)),
212-
broadcast_trigger_fn,
212+
trigger_shared_fn,
213213
)
214214
.chain()
215215
.in_set(ClientSystems::Send),
@@ -251,9 +251,9 @@ fn send(
251251
}
252252
}
253253

254-
fn broadcast_send(
254+
fn send_shared(
255255
mut messages: FilteredResourcesMut,
256-
mut broadcasts: FilteredResourcesMut,
256+
mut shared_messages: FilteredResourcesMut,
257257
mut client_messages: ResMut<ClientMessages>,
258258
type_registry: Res<AppTypeRegistry>,
259259
entity_map: Res<ServerEntityMap>,
@@ -265,20 +265,20 @@ fn broadcast_send(
265265
invalid_entities: Vec::new(),
266266
};
267267

268-
for message in registry.iter_all_broadcast() {
268+
for message in registry.iter_all_shared() {
269269
let messages = messages
270270
.get_mut_by_id(message.messages_id())
271271
.expect("messages resource should be accessible");
272-
let broadcasts = broadcasts
273-
.get_mut_by_id(message.broadcast_id())
274-
.expect("broadcast messages resource should be accessible");
272+
let shared_messages = shared_messages
273+
.get_mut_by_id(message.shared_messages_id())
274+
.expect("shared messages resource should be accessible");
275275

276276
// SAFETY: passed pointers were obtained using this message data.
277277
unsafe {
278278
message.send(
279279
&mut ctx,
280280
messages.into_inner(),
281-
broadcasts.into_inner(),
281+
shared_messages.into_inner(),
282282
&mut client_messages,
283283
);
284284
}
@@ -334,17 +334,17 @@ fn trigger(
334334
}
335335
}
336336

337-
fn broadcast_trigger(
338-
mut broadcasts: FilteredResourcesMut,
337+
fn trigger_shared(
338+
mut shared_messages: FilteredResourcesMut,
339339
mut commands: Commands,
340340
registry: Res<RemoteMessageRegistry>,
341341
) {
342-
for event in registry.iter_broadcast_events() {
343-
let broadcasts = broadcasts
344-
.get_mut_by_id(event.message().broadcast_id())
345-
.expect("broadcast messages resource should be accessible");
342+
for event in registry.iter_shared_events() {
343+
let shared_messages = shared_messages
344+
.get_mut_by_id(event.message().shared_messages_id())
345+
.expect("shared messages resource should be accessible");
346346
// SAFETY: passed pointer was obtained using this event data.
347-
unsafe { event.trigger(&mut commands, broadcasts.into_inner()) };
347+
unsafe { event.trigger(&mut commands, shared_messages.into_inner()) };
348348
}
349349
}
350350

@@ -366,28 +366,28 @@ fn send_locally(
366366
}
367367
}
368368

369-
fn broadcast_send_locally(
370-
mut broadcasts: FilteredResourcesMut,
369+
fn send_shared_locally(
370+
mut shared_messages: FilteredResourcesMut,
371371
mut messages: FilteredResourcesMut,
372372
registry: Res<RemoteMessageRegistry>,
373373
) {
374-
for message in registry.iter_all_broadcast() {
375-
let broadcasts = broadcasts
376-
.get_mut_by_id(message.broadcast_id())
377-
.expect("broadcast messages resource should be accessible");
374+
for message in registry.iter_all_shared() {
375+
let shared_messages = shared_messages
376+
.get_mut_by_id(message.shared_messages_id())
377+
.expect("shared messages resource should be accessible");
378378
let messages = messages
379379
.get_mut_by_id(message.messages_id())
380380
.expect("messages resource should be accessible");
381381

382382
// SAFETY: passed pointers were obtained using this message data.
383-
unsafe { message.send_locally(broadcasts.into_inner(), messages.into_inner()) };
383+
unsafe { message.send_locally(shared_messages.into_inner(), messages.into_inner()) };
384384
}
385385
}
386386

387387
fn reset(
388388
mut messages: FilteredResourcesMut,
389389
mut queues: FilteredResourcesMut,
390-
mut broadcast_messages: FilteredResourcesMut,
390+
mut shared_messages: FilteredResourcesMut,
391391
registry: Res<RemoteMessageRegistry>,
392392
) {
393393
for message in registry.iter_all_client() {
@@ -408,12 +408,12 @@ fn reset(
408408
unsafe { messages.reset(queue.into_inner()) };
409409
}
410410

411-
for message in registry.iter_all_broadcast() {
412-
let messages = broadcast_messages
411+
for message in registry.iter_all_shared() {
412+
let shared_messages = shared_messages
413413
.get_mut_by_id(message.messages_id())
414-
.expect("broadcast messages resource should be accessible");
414+
.expect("shared messages resource should be accessible");
415415

416416
// SAFETY: passed pointer was obtained using this message data.
417-
unsafe { message.reset(messages.into_inner()) };
417+
unsafe { message.reset(shared_messages.into_inner()) };
418418
}
419419
}

src/lib.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -354,29 +354,29 @@ Similar to messages, serialization can also be customized with [`ClientEventAppE
354354
355355
If you need to react to the same message on both the client and the server (for example,
356356
to share logic between client-side prediction and authoritative server processing), use
357-
[`BroadcastMessageAppExt::add_broadcast_message`] or
358-
[`BroadcastEventAppExt::add_broadcast_event`]. The message is emitted as [`Broadcast<M>`]
359-
on both sides, with the [`Broadcaster`] field indicating its origin.
357+
[`SharedMessageAppExt::add_shared_message`] or
358+
[`SharedEventAppExt::add_shared_event`]. The message is emitted as [`LocalOrRemote<M>`]
359+
on both sides, with the [`Sender`] field indicating its origin.
360360
361361
```
362362
# use bevy::{prelude::*, state::app::StatesPlugin};
363363
# use bevy_replicon::prelude::*;
364364
# use serde::{Deserialize, Serialize};
365365
# let mut app = App::new();
366366
# app.add_plugins((StatesPlugin, RepliconPlugins));
367-
app.add_broadcast_event::<Attack>(Channel::Ordered)
367+
app.add_shared_event::<Attack>(Channel::Ordered)
368368
.add_observer(on_attack);
369369
370-
fn on_attack(on: On<Broadcast<Attack>>) {
371-
info!("attack from `{:?}`", on.broadcaster);
370+
fn on_attack(attack: On<LocalOrRemote<Attack>>) {
371+
info!("attack from `{:?}`", attack.sender);
372372
}
373373
374374
#[derive(Event, Deserialize, Serialize)]
375375
struct Attack;
376376
```
377377
378-
Similar to regular client messages, we also provide [`BroadcastEventAppExt::add_mapped_broadcast_event`].
379-
and [`BroadcastEventAppExt::add_broadcast_event_with`].
378+
Similar to regular client messages, we also provide [`SharedEventAppExt::add_mapped_shared_event`].
379+
and [`SharedEventAppExt::add_shared_event_with`].
380380
381381
### From server to client
382382
@@ -731,8 +731,8 @@ pub mod prelude {
731731
},
732732
client_id::ClientId,
733733
message::{
734-
broadcast_event::{BroadcastEventAppExt, BroadcastTriggerExt},
735-
broadcast_message::{Broadcast, BroadcastMessageAppExt, Broadcaster},
734+
broadcast_event::{SharedEventAppExt, SharedTriggerExt},
735+
broadcast_message::{LocalOrRemote, Sender, SharedMessageAppExt},
736736
client_event::{ClientEventAppExt, ClientTriggerExt},
737737
client_message::{ClientMessageAppExt, FromClient},
738738
server_event::{ServerEventAppExt, ServerTriggerExt},

src/server/message.rs

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,18 @@ impl Plugin for ServerMessagePlugin {
6161
.build_state(app.world_mut())
6262
.build_system(receive);
6363

64-
let broadcast_receive_fn = (
64+
let receive_shared_fn = (
6565
FilteredResourcesMutParamBuilder::new(|builder| {
66-
for message in registry.iter_all_broadcast() {
67-
builder.add_write_by_id(message.broadcast_id());
66+
for message in registry.iter_all_shared() {
67+
builder.add_write_by_id(message.shared_messages_id());
6868
}
6969
}),
7070
ParamBuilder,
7171
ParamBuilder,
7272
ParamBuilder,
7373
)
7474
.build_state(app.world_mut())
75-
.build_system(broadcast_receive);
75+
.build_system(receive_shared);
7676

7777
let trigger_fn = (
7878
FilteredResourcesMutParamBuilder::new(|builder| {
@@ -86,17 +86,17 @@ impl Plugin for ServerMessagePlugin {
8686
.build_state(app.world_mut())
8787
.build_system(trigger);
8888

89-
let broadcast_trigger_fn = (
89+
let trigger_shared_fn = (
9090
FilteredResourcesMutParamBuilder::new(|builder| {
91-
for event in registry.iter_broadcast_events() {
92-
builder.add_write_by_id(event.message().broadcast_id());
91+
for event in registry.iter_shared_events() {
92+
builder.add_write_by_id(event.message().shared_messages_id());
9393
}
9494
}),
9595
ParamBuilder,
9696
ParamBuilder,
9797
)
9898
.build_state(app.world_mut())
99-
.build_system(broadcast_trigger);
99+
.build_system(trigger_shared);
100100

101101
let send_locally_fn = (
102102
FilteredResourcesMutParamBuilder::new(|builder| {
@@ -118,10 +118,10 @@ impl Plugin for ServerMessagePlugin {
118118
.add_systems(
119119
PreUpdate,
120120
(
121-
(receive_fn, broadcast_receive_fn).run_if(in_state(ServerState::Running)),
121+
(receive_fn, receive_shared_fn).run_if(in_state(ServerState::Running)),
122122
(
123123
trigger_fn.run_if(in_state(ClientState::Disconnected)),
124-
broadcast_trigger_fn,
124+
trigger_shared_fn,
125125
),
126126
)
127127
.chain()
@@ -204,8 +204,8 @@ fn receive(
204204
}
205205
}
206206

207-
fn broadcast_receive(
208-
mut broadcasts: FilteredResourcesMut,
207+
fn receive_shared(
208+
mut shared_messages: FilteredResourcesMut,
209209
mut server_messages: ResMut<ServerMessages>,
210210
type_registry: Res<AppTypeRegistry>,
211211
message_registry: Res<RemoteMessageRegistry>,
@@ -214,13 +214,13 @@ fn broadcast_receive(
214214
type_registry: &type_registry,
215215
};
216216

217-
for message in message_registry.iter_all_broadcast() {
218-
let broadcasts = broadcasts
219-
.get_mut_by_id(message.broadcast_id())
220-
.expect("broadcast messages resource should be accessible");
217+
for message in message_registry.iter_all_shared() {
218+
let shared_messages = shared_messages
219+
.get_mut_by_id(message.shared_messages_id())
220+
.expect("shared messages resource should be accessible");
221221

222222
// SAFETY: passed pointer was obtained using this message data.
223-
unsafe { message.receive(&mut ctx, broadcasts.into_inner(), &mut server_messages) };
223+
unsafe { message.receive(&mut ctx, shared_messages.into_inner(), &mut server_messages) };
224224
}
225225
}
226226

@@ -238,17 +238,17 @@ fn trigger(
238238
}
239239
}
240240

241-
fn broadcast_trigger(
242-
mut broadcasts: FilteredResourcesMut,
241+
fn trigger_shared(
242+
mut shared_messages: FilteredResourcesMut,
243243
mut commands: Commands,
244244
registry: Res<RemoteMessageRegistry>,
245245
) {
246-
for event in registry.iter_broadcast_events() {
247-
let broadcasts = broadcasts
248-
.get_mut_by_id(event.message().broadcast_id())
249-
.expect("broadcast messages resource should be accessible");
246+
for event in registry.iter_shared_events() {
247+
let shared_messages = shared_messages
248+
.get_mut_by_id(event.message().shared_messages_id())
249+
.expect("shared messages resource should be accessible");
250250
// SAFETY: passed pointer was obtained using this event data.
251-
unsafe { event.trigger(&mut commands, broadcasts.into_inner()) };
251+
unsafe { event.trigger(&mut commands, shared_messages.into_inner()) };
252252
}
253253
}
254254

0 commit comments

Comments
 (0)