Skip to content

Commit b63e5cf

Browse files
authored
refactor: ename peer's userdata to extra_data for avoid miss-understand (#386)
1 parent a484a4e commit b63e5cf

File tree

26 files changed

+100
-100
lines changed

26 files changed

+100
-100
lines changed

bin/src/http/api_media.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ impl<S: 'static + MediaEdgeSecure + Send + Sync> MediaApis<S> {
7171
peer: token.peer.into(),
7272
user_agent,
7373
record: token.record,
74-
userdata: token.userdata,
74+
extra_data: token.extra_data,
7575
})));
7676
ctx.sender.send(req).await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
7777
let res = rx.await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
@@ -168,7 +168,7 @@ impl<S: 'static + MediaEdgeSecure + Send + Sync> MediaApis<S> {
168168
room: token.room.into(),
169169
peer: token.peer.unwrap_or_else(|| format!("whep-{}", (random::<u64>()))).into(),
170170
user_agent,
171-
userdata: token.userdata,
171+
extra_data: token.extra_data,
172172
})));
173173
ctx.sender.send(req).await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
174174
let res = rx.await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
@@ -267,7 +267,7 @@ impl<S: 'static + MediaEdgeSecure + Send + Sync> MediaApis<S> {
267267
return Err(poem::Error::from_string("Wrong peer".to_string(), StatusCode::FORBIDDEN));
268268
}
269269
}
270-
let (req, rx) = Rpc::new(RpcReq::Webrtc(webrtc::RpcReq::Connect(session_id, ip_addr, user_agent, connect.0, token.userdata, token.record)));
270+
let (req, rx) = Rpc::new(RpcReq::Webrtc(webrtc::RpcReq::Connect(session_id, ip_addr, user_agent, connect.0, token.extra_data, token.record)));
271271
ctx.sender.send(req).await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
272272
let res = rx.await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
273273
match res {
@@ -336,7 +336,7 @@ impl<S: 'static + MediaEdgeSecure + Send + Sync> MediaApis<S> {
336336
}
337337
}
338338
log::info!("[MediaAPIs] restart_ice webrtc, ip {}, user_agent {}, conn {}, request {:?}", ip_addr, user_agent, conn_id.0, connect);
339-
let (req, rx) = Rpc::new(RpcReq::Webrtc(webrtc::RpcReq::RestartIce(conn_id2, ip_addr, user_agent, connect.0, token.userdata, token.record)));
339+
let (req, rx) = Rpc::new(RpcReq::Webrtc(webrtc::RpcReq::RestartIce(conn_id2, ip_addr, user_agent, connect.0, token.extra_data, token.record)));
340340
ctx.sender.send(req).await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
341341
let res = rx.await.map_err(|_e| poem::Error::from_status(StatusCode::INTERNAL_SERVER_ERROR))?;
342342
match res {

bin/src/http/api_token.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ struct WhipTokenReq {
2525
peer: String,
2626
ttl: u64,
2727
record: Option<bool>,
28-
userdata: Option<String>,
28+
extra_data: Option<String>,
2929
}
3030

3131
#[derive(poem_openapi::Object)]
@@ -38,7 +38,7 @@ struct WhepTokenReq {
3838
room: String,
3939
peer: Option<String>,
4040
ttl: u64,
41-
userdata: Option<String>,
41+
extra_data: Option<String>,
4242
}
4343

4444
#[derive(poem_openapi::Object)]
@@ -52,7 +52,7 @@ struct WebrtcTokenReq {
5252
peer: Option<String>,
5353
ttl: u64,
5454
record: Option<bool>,
55-
userdata: Option<String>,
55+
extra_data: Option<String>,
5656
}
5757

5858
#[derive(poem_openapi::Object)]
@@ -84,7 +84,7 @@ impl<S: 'static + MediaGatewaySecure + Send + Sync> TokenApis<S> {
8484
room: body.room,
8585
peer: body.peer,
8686
record: body.record.unwrap_or(false),
87-
userdata: body.userdata,
87+
extra_data: body.extra_data,
8888
},
8989
body.ttl,
9090
),
@@ -113,7 +113,7 @@ impl<S: 'static + MediaGatewaySecure + Send + Sync> TokenApis<S> {
113113
WhepToken {
114114
room: body.room,
115115
peer: body.peer,
116-
userdata: body.userdata,
116+
extra_data: body.extra_data,
117117
},
118118
body.ttl,
119119
),
@@ -142,7 +142,7 @@ impl<S: 'static + MediaGatewaySecure + Send + Sync> TokenApis<S> {
142142
room: body.room,
143143
peer: body.peer,
144144
record: body.record.unwrap_or(false),
145-
userdata: body.userdata,
145+
extra_data: body.extra_data,
146146
},
147147
body.ttl,
148148
),

bin/src/server/gateway/local_rpc_handler.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,12 @@ impl MediaLocalRpcHandler {
123123
whep::RpcReq::Delete(param) => RpcRes::Whep(whep::RpcRes::Delete(self.whep_delete(conn_part, param).await)),
124124
},
125125
RpcReq::Webrtc(param) => match param {
126-
webrtc::RpcReq::Connect(session_id, ip, user_agent, param, userdata, record) => {
127-
RpcRes::Webrtc(webrtc::RpcRes::Connect(self.webrtc_connect(session_id, ip, user_agent, param, userdata, record).await))
126+
webrtc::RpcReq::Connect(session_id, ip, user_agent, param, extra_data, record) => {
127+
RpcRes::Webrtc(webrtc::RpcRes::Connect(self.webrtc_connect(session_id, ip, user_agent, param, extra_data, record).await))
128128
}
129129
webrtc::RpcReq::RemoteIce(conn, param) => RpcRes::Webrtc(webrtc::RpcRes::RemoteIce(self.webrtc_remote_ice(conn_part, conn, param).await)),
130-
webrtc::RpcReq::RestartIce(conn, ip, user_agent, req, userdata, record) => {
131-
RpcRes::Webrtc(webrtc::RpcRes::RestartIce(self.webrtc_restart_ice(conn_part, conn, ip, user_agent, req, userdata, record).await))
130+
webrtc::RpcReq::RestartIce(conn, ip, user_agent, req, extra_data, record) => {
131+
RpcRes::Webrtc(webrtc::RpcRes::RestartIce(self.webrtc_restart_ice(conn_part, conn, ip, user_agent, req, extra_data, record).await))
132132
}
133133
webrtc::RpcReq::Delete(_) => {
134134
//TODO implement delete webrtc conn
@@ -276,7 +276,7 @@ impl MediaLocalRpcHandler {
276276
Webrtc part
277277
*/
278278

279-
async fn webrtc_connect(&self, session_id: u64, ip: IpAddr, user_agent: String, req: ConnectRequest, userdata: Option<String>, record: bool) -> RpcResult<(ClusterConnId, ConnectResponse)> {
279+
async fn webrtc_connect(&self, session_id: u64, ip: IpAddr, user_agent: String, req: ConnectRequest, extra_data: Option<String>, record: bool) -> RpcResult<(ClusterConnId, ConnectResponse)> {
280280
let started_at = now_ms();
281281
self.feedback_route_begin(session_id, ip).await;
282282

@@ -289,7 +289,7 @@ impl MediaLocalRpcHandler {
289289
ip: ip.to_string(),
290290
req: Some(req),
291291
record,
292-
userdata,
292+
extra_data,
293293
};
294294
let res = self.client.webrtc_connect(sock_addr, rpc_req).await;
295295
log::info!("[Gateway] response from node {node_id} => {:?}", res);
@@ -343,7 +343,7 @@ impl MediaLocalRpcHandler {
343343
ip: IpAddr,
344344
user_agent: String,
345345
req: ConnectRequest,
346-
userdata: Option<String>,
346+
extra_data: Option<String>,
347347
record: bool,
348348
) -> RpcResult<(ClusterConnId, ConnectResponse)> {
349349
//TODO how to handle media-node down?
@@ -354,7 +354,7 @@ impl MediaLocalRpcHandler {
354354
user_agent,
355355
req: Some(req),
356356
record,
357-
userdata,
357+
extra_data,
358358
};
359359
log::info!("[Gateway] selected node {node}");
360360
let sock_addr = node_vnet_addr(node, GATEWAY_RPC_PORT);

bin/src/server/media/rpc_handler.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ impl MediaEdgeServiceHandler<Ctx> for MediaRpcHandlerImpl {
127127
req.ip.parse().ok()?,
128128
req.user_agent,
129129
req.req?,
130-
req.userdata,
130+
req.extra_data,
131131
req.record,
132132
)));
133133
ctx.req_tx.send(req).await.ok()?;
@@ -159,7 +159,7 @@ impl MediaEdgeServiceHandler<Ctx> for MediaRpcHandlerImpl {
159159
req.ip.parse().ok()?,
160160
req.user_agent,
161161
req.req?,
162-
req.userdata,
162+
req.extra_data,
163163
req.record,
164164
)));
165165
ctx.req_tx.send(req).await.ok()?;

docs/user-guide/features/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ In this document, we will explore the key features of atm0s-media-server. Curren
99
| [Simulcast/SVC](./simulcast-svc.md) | Alpha |
1010
| [Recording](./recording.md) | TODO |
1111
| [Cluster](./cluster.md) | Alpha |
12-
| [Userdata-metadata](./userdata-metadata.md) | Alpha |
12+
| [extra_data-metadata](./extra_data-metadata.md) | Alpha |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# extra_data and metadata
2+
3+
In atm0s-media, extra_data and metadata is used with same goal is providing addition data beside of only room and peer. We use 2 terms extra_data and metadata with some difference:
4+
5+
- extra_data: a string which is embedded to peer token, which can not be changed by client
6+
- metadata: a string which is embedded to peer or track by client. In there peer metadata is set at join-room step, track metadata is set at publish track step.

docs/user-guide/features/userdata-metadata.md

-6
This file was deleted.

packages/media_core/src/cluster.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ mod tests {
201201
let room_peers_map = id_generator::peers_map(userdata.0);
202202
let peer = PeerId("peer1".to_string());
203203
let peer_key = id_generator::peers_key(&peer);
204-
let peer_info = PeerInfo::new(peer.clone(), PeerMeta { metadata: None, userdata: None });
204+
let peer_info = PeerInfo::new(peer.clone(), PeerMeta { metadata: None, extra_data: None });
205205

206206
let now = Instant::now();
207207
// Not join room with scope (peer true, track false) should Set and Sub

packages/media_core/src/cluster/room.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ mod tests {
270270
endpoint,
271271
ClusterEndpointControl::Join(
272272
peer.clone(),
273-
PeerMeta { metadata: None, userdata: None },
273+
PeerMeta { metadata: None, extra_data: None },
274274
RoomInfoPublish { peer: false, tracks: false },
275275
RoomInfoSubscribe { peers: true, tracks: true },
276276
Some(AudioMixerConfig {

packages/media_core/src/cluster/room/metadata.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ mod tests {
381381
let room: ClusterRoomHash = 1.into();
382382
let mut room_meta: RoomMetadata<u8> = RoomMetadata::<u8>::new(room);
383383
let peer_id: PeerId = "peer1".to_string().into();
384-
let peer_meta = PeerMeta { metadata: None, userdata: None };
384+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
385385
let endpoint = 1;
386386
room_meta.on_join(
387387
endpoint,
@@ -408,7 +408,7 @@ mod tests {
408408
let tracks_map = id_generator::tracks_map(room);
409409
let mut room_meta: RoomMetadata<u8> = RoomMetadata::<u8>::new(room);
410410
let peer_id: PeerId = "peer1".to_string().into();
411-
let peer_meta = PeerMeta { metadata: None, userdata: None };
411+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
412412
let peer_info = PeerInfo::new(peer_id.clone(), peer_meta.clone());
413413
let peer_key = id_generator::peers_key(&peer_id);
414414
let endpoint = 1;
@@ -464,14 +464,14 @@ mod tests {
464464

465465
let peer2: PeerId = "peer2".to_string().into();
466466
let peer2_key = id_generator::peers_key(&peer2);
467-
let peer2_info = PeerInfo::new(peer2, PeerMeta { metadata: None, userdata: None });
467+
let peer2_info = PeerInfo::new(peer2, PeerMeta { metadata: None, extra_data: None });
468468

469469
room_meta.on_kv_event(peers_map, MapEvent::OnSet(peer2_key, 0, peer2_info.serialize()));
470470
assert_eq!(room_meta.pop_output(()), None);
471471

472472
let endpoint = 1;
473473
let peer_id: PeerId = "peer1".to_string().into();
474-
let peer_meta = PeerMeta { metadata: None, userdata: None };
474+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
475475
room_meta.on_join(
476476
endpoint,
477477
peer_id.clone(),
@@ -500,7 +500,7 @@ mod tests {
500500
let tracks_map = id_generator::tracks_map(room);
501501
let mut room_meta: RoomMetadata<u8> = RoomMetadata::<u8>::new(room);
502502
let peer_id: PeerId = "peer1".to_string().into();
503-
let peer_meta = PeerMeta { metadata: None, userdata: None };
503+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
504504
let peer_info = PeerInfo::new(peer_id.clone(), peer_meta.clone());
505505
let peer_key = id_generator::peers_key(&peer_id);
506506
let endpoint = 1;
@@ -569,7 +569,7 @@ mod tests {
569569

570570
let endpoint = 1;
571571
let peer_id: PeerId = "peer1".to_string().into();
572-
let peer_meta = PeerMeta { metadata: None, userdata: None };
572+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
573573
room_meta.on_join(
574574
endpoint,
575575
peer_id.clone(),
@@ -601,7 +601,7 @@ mod tests {
601601
let tracks_map = id_generator::tracks_map(room);
602602
let mut room_meta: RoomMetadata<u8> = RoomMetadata::<u8>::new(room);
603603
let peer_id: PeerId = "peer1".to_string().into();
604-
let peer_meta = PeerMeta { metadata: None, userdata: None };
604+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
605605
let peer_info = PeerInfo::new(peer_id.clone(), peer_meta.clone());
606606
let peer_key = id_generator::peers_key(&peer_id);
607607
let endpoint = 1;
@@ -643,7 +643,7 @@ mod tests {
643643
let room: ClusterRoomHash = 1.into();
644644
let mut room_meta: RoomMetadata<u8> = RoomMetadata::<u8>::new(room);
645645
let peer_id: PeerId = "peer1".to_string().into();
646-
let peer_meta = PeerMeta { metadata: None, userdata: None };
646+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
647647
let endpoint = 1;
648648
room_meta.on_join(
649649
endpoint,
@@ -702,7 +702,7 @@ mod tests {
702702

703703
let endpoint = 1;
704704
let peer_id: PeerId = "peer1".to_string().into();
705-
let peer_meta = PeerMeta { metadata: None, userdata: None };
705+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
706706
room_meta.on_join(
707707
endpoint,
708708
peer_id.clone(),
@@ -748,7 +748,7 @@ mod tests {
748748

749749
let endpoint = 1;
750750
let peer_id: PeerId = "peer1".to_string().into();
751-
let peer_meta = PeerMeta { metadata: None, userdata: None };
751+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
752752
room_meta.on_join(
753753
endpoint,
754754
peer_id.clone(),
@@ -783,7 +783,7 @@ mod tests {
783783

784784
let endpoint = 1;
785785
let peer_id: PeerId = "peer1".to_string().into();
786-
let peer_meta = PeerMeta { metadata: None, userdata: None };
786+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
787787
room_meta.on_join(
788788
endpoint,
789789
peer_id.clone(),
@@ -823,7 +823,7 @@ mod tests {
823823
let room: ClusterRoomHash = 1.into();
824824
let mut room_meta: RoomMetadata<u8> = RoomMetadata::<u8>::new(room);
825825
let peer_id: PeerId = "peer1".to_string().into();
826-
let peer_meta = PeerMeta { metadata: None, userdata: None };
826+
let peer_meta = PeerMeta { metadata: None, extra_data: None };
827827
let endpoint = 1;
828828
room_meta.on_join(
829829
endpoint,

packages/media_core/src/endpoint/internal.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ mod tests {
533533

534534
let room: RoomId = "room".into();
535535
let peer: PeerId = "peer".into();
536-
let meta = PeerMeta { metadata: None, userdata: None };
536+
let meta = PeerMeta { metadata: None, extra_data: None };
537537
let publish = RoomInfoPublish { peer: true, tracks: true };
538538
let subscribe = RoomInfoSubscribe { peers: true, tracks: true };
539539
internal.on_transport_rpc(now, 0.into(), EndpointReq::JoinRoom(room.clone(), peer.clone(), meta.clone(), publish.clone(), subscribe.clone(), None));
@@ -658,7 +658,7 @@ mod tests {
658658
let room1: RoomId = "room1".into();
659659
let room1_hash = ClusterRoomHash::from(&room1);
660660
let peer: PeerId = "peer".into();
661-
let meta = PeerMeta { metadata: None, userdata: None };
661+
let meta = PeerMeta { metadata: None, extra_data: None };
662662
let publish = RoomInfoPublish { peer: true, tracks: true };
663663
let subscribe = RoomInfoSubscribe { peers: true, tracks: true };
664664
internal.on_transport_rpc(

0 commit comments

Comments
 (0)