64 lines
2.2 KiB
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;
|
|
}
|
|
}
|