Files
rosetta-wss/src/main/java/im/rosetta/packet/Packet27WebRTC.java

64 lines
2.2 KiB
Java

package im.rosetta.packet;
import im.rosetta.packet.runtime.NetworkWebRTCType;
import io.orprotocol.Stream;
import io.orprotocol.packet.Packet;
public class Packet27WebRTC extends Packet {
/**
* SDP оффер/answer или ICE кандидат, в зависимости от типа сообщения
*/
private String sdpOrCandidate;
/**
* Тип сообщения WebRTC
*/
private NetworkWebRTCType type;
@Override
public void read(Stream stream) {
this.type = NetworkWebRTCType.fromCode(stream.readInt8());
this.sdpOrCandidate = stream.readString();
}
@Override
public Stream write() {
Stream steram = new Stream();
steram.writeInt16(this.packetId);
steram.writeInt8(this.type.getCode());
steram.writeString(this.sdpOrCandidate);
return steram;
}
/**
* Получить SDP оффер/answer или ICE кандидат, в зависимости от типа сообщения
* @return SDP оффер/answer или ICE кандидат
*/
public String getSdpOrCandidate() {
return sdpOrCandidate;
}
/**
* Получить тип сообщения WebRTC, который указывает на то, является ли это оффером, ответом на оффер или ICE кандидатом
* @return тип сообщения WebRTC
*/
public NetworkWebRTCType getType() {
return type;
}
/**
* Установить SDP оффер/answer или ICE кандидат, в зависимости от типа сообщения
* @param sdpOrCandidate SDP оффер/answer или ICE кандидат
*/
public void setSdpOrCandidate(String sdpOrCandidate) {
this.sdpOrCandidate = sdpOrCandidate;
}
/**
* Установить тип сообщения WebRTC, который указывает на то, является ли это оффером, ответом на оффер или ICE кандидатом
* @param type тип сообщения WebRTC
*/
public void setType(NetworkWebRTCType type) {
this.type = type;
}
}