All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.callstats.sdk.data.ConferenceStats Maven / Gradle / Ivy

package io.callstats.sdk.data;

import com.google.gson.annotations.SerializedName;

public class ConferenceStats {
	
	transient String localUserID;
	transient String remoteUserID;
	@SerializedName("streamType")
	String statsType; //inbound or outbound
	String ssrc;
	String fromUserID;
	transient String ucID;
	transient String confID;
	
	public ConferenceStatsInfo data;
	
	public ConferenceStats() {
		data = new ConferenceStatsInfo();
	}
	
	public ConferenceStats(ConferenceStatsBuilder builder) {
		this.localUserID = builder.getLocalUserID();
		this.statsType = builder.getStatsType();
		this.fromUserID = builder.getFromUserID();
		this.ssrc = builder.getSsrc();
		this.remoteUserID = builder.getRemoteUserID();
		this.ucID = builder.getUcID();
		this.confID = builder.getConfID();
		data = new ConferenceStatsInfo(builder);
	}
	
	public String getUcID() {
		return this.ucID;
	}
	public void setUcID(String ucID) {
		this.ucID = ucID;
	}
	public String getConfID() {
		return this.confID;
	}
	public void setConfID(String confID) {
		this.confID = confID;
	}
	public String getLocalUserID() {
		return this.localUserID;
	}
	public void setLocalUserID(String localUserID) {
		 this.localUserID = localUserID;
	}
	public String getSsrc() {
		return this.ssrc;
	}
	public void setSsrc(String ssrc) {
		this.ssrc = ssrc;
	}
	public String getFromUserID() {
		return this.fromUserID;
	}
	public void setFromUserID(String fromUserID) {
		this.fromUserID = fromUserID;
	}
		
	public String getStatsType() {
		return this.statsType;
	}
	public void setStatsType(CallStatsStreamType statsType) {
		this.statsType = statsType.getMessageType();
	}
	
	public String getRemoteUserID() {
		return this.remoteUserID;
	}
	public void setRemoteUserID(String remoteUserID) {
		this.remoteUserID = remoteUserID;
	}
	
	class ConferenceStatsInfo {
		Long packetsSent;
		Long packetsReceived;
		Long packetsLost;
		Long packetsDuplicated;
		Long packetsDiscarded;
		Long packetsRepaired;
		
		Long bytesSent;
		Long bytesReceived;
		Long bytesDuplicated;
		Long bytesDiscarded;
		Long bytesRepaired;
		
		Long burstPacketsLost;
		Long burstLossIntervalCount;
		Long burstPacketsDiscarded;
		Long burstDiscardIntervalCount;
		
		Double gapLossRate;
		Double gapDiscardRate;
		
		Double fractionalPacketLost;
		Double fractionalPacketDiscarded;
		
		Long framesSent;
		Long framesReceived;
		Long framesLost;
		Long framesDropped;
		Long framesCorrupted;
		
		Integer rtt;
		Double jitter;
		
		Double currentPlayoutDelay;
		Double maxPlayoutDelay;
		Double minPlayoutDelay;
		
		Double currentJBDelay;
		Double highWatermarkJBDelay;
		Double lowWatermarkJBDelay;
		Double maxJBDelay;
		Double minJBDelay;
		Double avsync;
		
		
		public ConferenceStatsInfo(ConferenceStatsBuilder builder) {
			
			this.packetsSent = builder.getPacketsSent();
			this.packetsReceived = builder.getPacketsReceived();
			this.packetsLost = builder.getPacketsLost();
			this.packetsDuplicated = builder.getPacketsDuplicated();
			this.packetsDiscarded = builder.getPacketsDiscarded();
			this.packetsRepaired = builder.getPacketsRepaired();
			
			this.bytesSent = builder.getBytesSent();
			this.bytesReceived = builder.getBytesReceived();
			this.bytesDuplicated = builder.getBytesDuplicated();
			this.bytesDiscarded = builder.getBytesDiscarded();
			this.bytesRepaired = builder.getBytesRepaired();
			
			this.burstPacketsLost = builder.getBurstPacketsLost();
			this.burstLossIntervalCount = builder.getBurstLossIntervalCount();
			this.burstPacketsDiscarded = builder.getBurstPacketsDiscarded();
			this.burstDiscardIntervalCount = builder.getBurstDiscardIntervalCount();
			
			this.gapLossRate = builder.getGapLossRate();
			this.gapDiscardRate = builder.getGapDiscardRate();
			
			this.fractionalPacketLost = builder.getFractionalPacketLost();
			this.fractionalPacketDiscarded = builder.getFractionalPacketDiscarded();
			
			this.framesSent = builder.getFramesSent();
			this.framesReceived = builder.getFramesReceived();
			this.framesLost = builder.getFramesLost();
			this.framesDropped = builder.getFramesDropped();
			this.framesCorrupted = builder.getFramesCorrupted();
			
			this.rtt = builder.getRtt();
			this.jitter = builder.getJitter();
			
			this.currentPlayoutDelay = builder.getCurrentPlayoutDelay();
			this.maxPlayoutDelay = builder.getMaxPlayoutDelay();
			this.minPlayoutDelay = builder.getMinPlayoutDelay();
			
			this.currentJBDelay = builder.getCurrentJBDelay();
			this.highWatermarkJBDelay = builder.getHighWatermarkJBDelay();
			this.lowWatermarkJBDelay = builder.getLowWatermarkJBDelay();
			this.maxJBDelay = builder.getMaxJBDelay();
			this.minJBDelay = builder.getMinJBDelay();
			this.avsync = builder.getAvsync();		
		}
		
		public ConferenceStatsInfo() {
			
		}
	}


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy