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; } }