[+] 证书终端请求ID
This commit is contained in:
@@ -41,8 +41,6 @@ public class ClientStatus {
|
||||
private Integer signal;
|
||||
@Schema(title = "电池电量(0~100)", description = "电池电量(0~100)")
|
||||
private Integer battery;
|
||||
@Schema(title = "是否正在运行", description = "是否正在运行")
|
||||
private Boolean running;
|
||||
@Schema(title = "是否正在充电", description = "是否正在充电")
|
||||
private Boolean charging;
|
||||
@Schema(title = "是否正在录像", description = "是否正在录像")
|
||||
@@ -66,7 +64,6 @@ public class ClientStatus {
|
||||
this.setTemperature(MapUtils.get(body, Constant.TEMPERATURE));
|
||||
this.setSignal(MapUtils.get(body, Constant.SIGNAL));
|
||||
this.setBattery(MapUtils.get(body, Constant.BATTERY));
|
||||
this.setRunning(MapUtils.get(body, Constant.RUNNING));
|
||||
this.setCharging(MapUtils.get(body, Constant.CHARGING));
|
||||
this.setRecording(MapUtils.get(body, Constant.RECORDING));
|
||||
this.setLastHeartbeat(LocalDateTime.now());
|
||||
|
||||
@@ -18,7 +18,7 @@ public enum ClientType {
|
||||
OTHER("其他终端");
|
||||
|
||||
/**
|
||||
* 名称
|
||||
* 终端名称
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ public class ProtocolController {
|
||||
"code": "状态编码",
|
||||
"message": "状态描述",
|
||||
"body": {
|
||||
// 消息主体
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -57,10 +57,11 @@ public class ProtocolController {
|
||||
### 符号解释
|
||||
|
||||
```
|
||||
-[消息类型]> 异步请求 | 定向单播
|
||||
-[消息类型]> 异步请求 | 单播
|
||||
=[消息类型]> 同步请求
|
||||
-[消息类型]) 全员广播:对所有的终端广播信令(排除自己)
|
||||
+[消息类型]) 全员广播:对所有的终端广播信令(包含自己)
|
||||
...:其他自定义的透传内容
|
||||
```
|
||||
|
||||
> 没有指定消息类型时表示和信令消息类型相同
|
||||
@@ -79,13 +80,9 @@ public class ProtocolController {
|
||||
return;
|
||||
}
|
||||
// 信令名称
|
||||
builder.append("### ").append(name).append("(").append(signal).append(")").append(Constant.LINE).append(Constant.LINE);
|
||||
// 描述信息
|
||||
final String memo = annotation.memo().strip();
|
||||
if(StringUtils.isNotEmpty(memo)) {
|
||||
builder.append(memo).append(Constant.LINE).append(Constant.LINE);
|
||||
}
|
||||
builder.append("```").append(Constant.LINE);
|
||||
builder.append("### ").append(name).append("(").append(signal).append(")")
|
||||
.append(Constant.LINE).append(Constant.LINE)
|
||||
.append("```").append(Constant.LINE);
|
||||
// 消息主体
|
||||
builder.append("# 消息主体").append(Constant.LINE);
|
||||
Stream.of(annotation.body()).forEach(line -> builder.append(line.strip()).append(Constant.LINE));
|
||||
@@ -93,6 +90,11 @@ public class ProtocolController {
|
||||
builder.append("# 数据流向").append(Constant.LINE);
|
||||
Stream.of(annotation.flow()).forEach(line -> builder.append(line.strip()).append(Constant.LINE));
|
||||
builder.append("```").append(Constant.LINE).append(Constant.LINE);
|
||||
// 描述信息
|
||||
final String memo = annotation.memo().strip();
|
||||
if(StringUtils.isNotEmpty(memo)) {
|
||||
builder.append(memo).append(Constant.LINE).append(Constant.LINE);
|
||||
}
|
||||
});
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@@ -9,9 +9,9 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.ClientStatus;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.flute.media.RoomManager;
|
||||
import com.acgist.taoyao.signal.flute.media.RoomStatus;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.RoomManager;
|
||||
import com.acgist.taoyao.signal.party.media.RoomStatus;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.acgist.taoyao.signal.event;
|
||||
|
||||
import com.acgist.taoyao.signal.flute.media.Producer;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Producer;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.acgist.taoyao.signal.event;
|
||||
import java.util.Map;
|
||||
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* 不同终端管理
|
||||
*/
|
||||
package com.acgist.taoyao.signal.flute;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -19,7 +19,7 @@ import lombok.Setter;
|
||||
public class ClientWrapper {
|
||||
|
||||
/**
|
||||
* 订阅类型
|
||||
* 媒体订阅类型
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@@ -71,7 +71,7 @@ public class ClientWrapper {
|
||||
*/
|
||||
private final String clientId;
|
||||
/**
|
||||
* 订阅类型
|
||||
* 媒体订阅类型
|
||||
* 指定订阅类型终端注册或者生成媒体后会自动进行媒体推流拉流
|
||||
* 没有订阅任何媒体时需要用户自己对媒体进行消费控制
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import com.acgist.taoyao.boot.model.MessageCodeException;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.util.List;
|
||||
@@ -16,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 房间
|
||||
* 房间和媒体路由一对一关联
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.signal.flute.media;
|
||||
package com.acgist.taoyao.signal.party.media;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.util.Map;
|
||||
@@ -0,0 +1,4 @@
|
||||
/**
|
||||
* 不同终端业务管理
|
||||
*/
|
||||
package com.acgist.taoyao.signal.party;
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.acgist.taoyao.signal.protocol;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
@@ -10,7 +13,7 @@ import com.acgist.taoyao.boot.model.MessageCode;
|
||||
import com.acgist.taoyao.boot.service.IdService;
|
||||
import com.acgist.taoyao.signal.client.ClientManager;
|
||||
import com.acgist.taoyao.signal.event.ApplicationEventAdapter;
|
||||
import com.acgist.taoyao.signal.flute.media.RoomManager;
|
||||
import com.acgist.taoyao.signal.party.media.RoomManager;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -109,17 +112,34 @@ public abstract class ProtocolAdapter implements Protocol {
|
||||
return build;
|
||||
}
|
||||
|
||||
/**
|
||||
* 精简消息主体
|
||||
*
|
||||
* @param body 消息主体
|
||||
* @param keys 清理键
|
||||
*/
|
||||
protected void pure(Map<String, Object> body, String ... keys) {
|
||||
if(ArrayUtils.isEmpty(keys)) {
|
||||
return;
|
||||
}
|
||||
for (String key : keys) {
|
||||
body.remove(key);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param args 参数
|
||||
*/
|
||||
protected void logNoAdapter(Object ... args) {
|
||||
final StringBuilder builder = new StringBuilder(this.name);
|
||||
builder.append("没有适配信令消息:");
|
||||
for (final Object object : args) {
|
||||
builder.append(object).append(" ");
|
||||
}
|
||||
builder.setLength(builder.length() - 1);
|
||||
log.debug(builder.toString());
|
||||
if(log.isDebugEnabled()) {
|
||||
final StringBuilder builder = new StringBuilder(this.name);
|
||||
builder.append("没有适配信令消息:");
|
||||
for (final Object object : args) {
|
||||
builder.append(object).append(" ");
|
||||
}
|
||||
builder.setLength(builder.length() - 1);
|
||||
log.debug(builder.toString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ public abstract class ProtocolClientAdapter extends ProtocolAdapter {
|
||||
|
||||
@Override
|
||||
public void execute(Client client, Message message) {
|
||||
this.execute(client.clientId(), client.clientType(), client, message, message.mapBody());
|
||||
this.execute(client.clientId(), client.clientType(), client, message, message.body());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.acgist.taoyao.boot.model.MessageCodeException;
|
||||
import com.acgist.taoyao.boot.utils.MapUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
|
||||
/**
|
||||
* 房间信令适配器
|
||||
|
||||
@@ -24,10 +24,12 @@ import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter;
|
||||
"""
|
||||
{
|
||||
"clientType": "终端类型(可选)"
|
||||
...
|
||||
}
|
||||
"""
|
||||
},
|
||||
flow = "终端->信令服务-)终端"
|
||||
flow = "终端->信令服务-)终端",
|
||||
memo = "没有指定终端类型时广播所有类型终端"
|
||||
)
|
||||
public class ClientBroadcastProtocol extends ProtocolClientAdapter {
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter;
|
||||
"temperature": 温度,
|
||||
"signal": 信号强度(0~100),
|
||||
"battery": 电池电量(0~100),
|
||||
"running": 是否正在运行(true|false),
|
||||
"charging": 是否正在充电(true|false),
|
||||
"recording": 是否正在录像(true|false),
|
||||
"status": {更多状态},
|
||||
|
||||
@@ -36,7 +36,6 @@ import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter;
|
||||
"temperature": 温度,
|
||||
"signal": 信号强度(0~100),
|
||||
"battery": 电池电量(0~100),
|
||||
"running": 是否正在运行(true|false),
|
||||
"charging": 是否正在充电(true|false),
|
||||
"recording": 是否正在录像(true|false),
|
||||
"status": {更多状态},
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter;
|
||||
"temperature": 温度,
|
||||
"signal": 信号强度(0~100),
|
||||
"battery": 电池电量(0~100),
|
||||
"running": 是否正在运行(true|false),
|
||||
"charging": 是否正在充电(true|false),
|
||||
"recording": 是否正在录像(true|false),
|
||||
"status": {更多状态},
|
||||
|
||||
@@ -40,7 +40,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||
"temperature": 温度,
|
||||
"signal": 信号强度(0~100),
|
||||
"battery": 电池电量(0~100),
|
||||
"running": 是否正在运行(true|false),
|
||||
"charging": 是否正在充电(true|false),
|
||||
"recording": 是否正在录像(true|false),
|
||||
"status": {更多状态},
|
||||
@@ -87,7 +86,9 @@ public class ClientRegisterProtocol extends ProtocolClientAdapter {
|
||||
}
|
||||
final ClientType clientType = ClientType.of(MapUtils.get(body, Constant.CLIENT_TYPE));
|
||||
// 推送消息
|
||||
client.push(message.cloneWithoutBody());
|
||||
final Message registerResponse = message.cloneWithoutBody();
|
||||
registerResponse.setBody(Map.of(Constant.INDEX, this.idService.buildClientIndex()));
|
||||
client.push(registerResponse);
|
||||
// 下发配置
|
||||
client.push(this.clientConfigProtocol.build(clientType));
|
||||
// 终端状态
|
||||
|
||||
@@ -16,11 +16,11 @@ import com.acgist.taoyao.signal.protocol.ProtocolControlAdapter;
|
||||
*/
|
||||
@Protocol
|
||||
@Description(
|
||||
memo = "状态通过心跳回传",
|
||||
flow = {
|
||||
"信令服务->终端",
|
||||
"终端->信令服务->终端"
|
||||
}
|
||||
},
|
||||
memo = "状态通过心跳回传"
|
||||
)
|
||||
public class ControlRecordProtocol extends ProtocolControlAdapter {
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,11 +14,11 @@ import com.acgist.taoyao.boot.utils.MapUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.event.MediaProduceEvent;
|
||||
import com.acgist.taoyao.signal.flute.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.flute.media.Consumer;
|
||||
import com.acgist.taoyao.signal.flute.media.Producer;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.flute.media.Transport;
|
||||
import com.acgist.taoyao.signal.party.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.party.media.Consumer;
|
||||
import com.acgist.taoyao.signal.party.media.Producer;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Transport;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.acgist.taoyao.signal.protocol.media;
|
||||
|
||||
/**
|
||||
* RTP
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
public class MediaPlainCreateProtocol {
|
||||
|
||||
}
|
||||
@@ -10,9 +10,9 @@ import com.acgist.taoyao.boot.utils.MapUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.event.MediaProduceEvent;
|
||||
import com.acgist.taoyao.signal.flute.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.flute.media.Producer;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.party.media.Producer;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -53,7 +53,7 @@ public class MediaProduceProtocol extends ProtocolRoomAdapter {
|
||||
body.put(Constant.CLIENT_ID, clientId);
|
||||
body.put(Constant.STREAM_ID, streamId);
|
||||
final Message response = room.request(message);
|
||||
final Map<String, Object> responseBody = response.mapBody();
|
||||
final Map<String, Object> responseBody = response.body();
|
||||
final String producerId = MapUtils.get(responseBody, Constant.PRODUCER_ID);
|
||||
final ClientWrapper clientWrapper = room.clientWrapper(client);
|
||||
final Map<String, Producer> producers = clientWrapper.getProducers();
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.boot.utils.MapUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -40,7 +40,7 @@ public class MediaTransportWebRtcConnectProtocol extends ProtocolRoomAdapter {
|
||||
public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map<String, Object> body) {
|
||||
if(clientType == ClientType.WEB || clientType == ClientType.CAMERA) {
|
||||
final Message response = room.request(message);
|
||||
final Map<String, Object> responseBody = response.mapBody();
|
||||
final Map<String, Object> responseBody = response.body();
|
||||
client.push(response);
|
||||
final String transportId = MapUtils.get(responseBody, Constant.TRANSPORT_ID);
|
||||
log.info("{} 连接WebRTC信令通道:{}", clientId, transportId);
|
||||
|
||||
@@ -15,9 +15,9 @@ import com.acgist.taoyao.boot.utils.NetUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.event.MediaProduceEvent;
|
||||
import com.acgist.taoyao.signal.flute.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.flute.media.Transport;
|
||||
import com.acgist.taoyao.signal.party.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Transport;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -59,7 +59,7 @@ public class MediaTransportWebRtcCreateProtocol extends ProtocolRoomAdapter {
|
||||
public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map<String, Object> body) {
|
||||
body.put(Constant.CLIENT_ID, clientId);
|
||||
final Message response = room.request(message);
|
||||
final Map<String, Object> responseBody = response.mapBody();
|
||||
final Map<String, Object> responseBody = response.body();
|
||||
final String transportId = MapUtils.get(responseBody, Constant.TRANSPORT_ID);
|
||||
// 重写地址
|
||||
this.rewriteIp(client.ip(), responseBody);
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.acgist.taoyao.boot.annotation.Protocol;
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.acgist.taoyao.boot.utils.MapUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.event.MediaClientRegisterEvent;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -11,9 +11,9 @@ import com.acgist.taoyao.boot.model.MessageCodeException;
|
||||
import com.acgist.taoyao.boot.utils.MapUtils;
|
||||
import com.acgist.taoyao.signal.client.Client;
|
||||
import com.acgist.taoyao.signal.client.ClientType;
|
||||
import com.acgist.taoyao.signal.flute.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.flute.media.ClientWrapper.SubscribeType;
|
||||
import com.acgist.taoyao.signal.flute.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.ClientWrapper;
|
||||
import com.acgist.taoyao.signal.party.media.Room;
|
||||
import com.acgist.taoyao.signal.party.media.ClientWrapper.SubscribeType;
|
||||
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
Reference in New Issue
Block a user