function RTCTransportStats(rTCTransportStatsDict){
  if(!(this instanceof RTCTransportStats))
    return new RTCTransportStats(rTCTransportStatsDict)

  rTCTransportStatsDict = rTCTransportStatsDict || {}

  // Check rTCTransportStatsDict has the required fields
  // 
  // checkType('int64', 'rTCTransportStatsDict.bytesSent', rTCTransportStatsDict.bytesSent, {required: true});
  //  
  // checkType('int64', 'rTCTransportStatsDict.bytesReceived', rTCTransportStatsDict.bytesReceived, {required: true});
  //  
  // checkType('String', 'rTCTransportStatsDict.rtcpTransportStatsId', rTCTransportStatsDict.rtcpTransportStatsId, {required: true});
  //  
  // checkType('boolean', 'rTCTransportStatsDict.activeConnection', rTCTransportStatsDict.activeConnection, {required: true});
  //  
  // checkType('String', 'rTCTransportStatsDict.selectedCandidatePairId', rTCTransportStatsDict.selectedCandidatePairId, {required: true});
  //  
  // checkType('String', 'rTCTransportStatsDict.localCertificateId', rTCTransportStatsDict.localCertificateId, {required: true});
  //  
  // checkType('String', 'rTCTransportStatsDict.remoteCertificateId', rTCTransportStatsDict.remoteCertificateId, {required: true});
  //  

  // Init parent class
  RTCTransportStats.super_.call(this, rTCTransportStatsDict)

  // Set object properties
  Object.defineProperties(this, {
    bytesSent: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.bytesSent
    },
    bytesReceived: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.bytesReceived
    },
    rtcpTransportStatsId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.rtcpTransportStatsId
    },
    activeConnection: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.activeConnection
    },
    selectedCandidatePairId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.selectedCandidatePairId
    },
    localCertificateId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.localCertificateId
    },
    remoteCertificateId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.remoteCertificateId
    }
  })
}
/**
 * Statistics related to RTC data channels.
 *
 * @constructor module:core/complexTypes.RTCTransportStats
 *
 * @property {external:int64} bytesSent
 *  Represents the total number of payload bytes sent on this PeerConnection, 
 *  i.e., not including headers or padding.
 * @property {external:int64} bytesReceived
 *  Represents the total number of bytes received on this PeerConnection, i.e., 
 *  not including headers or padding.
 * @property {external:String} rtcpTransportStatsId
 *  If RTP and RTCP are not multiplexed, this is the id of the transport that 
 *  gives stats for the RTCP component, and this record has only the RTP 
 *  component stats.
 * @property {external:Boolean} activeConnection
 *  Set to true when transport is active.
 * @property {external:String} selectedCandidatePairId
 *  It is a unique identifier that is associated to the object that was 
 *  inspected to produce the RTCIceCandidatePairStats associated with this 
 *  transport.
 * @property {external:String} localCertificateId
 *  For components where DTLS is negotiated, give local certificate.
 * @property {external:String} remoteCertificateId
 *  For components where DTLS is negotiated, give remote certificate.

 * @extends module:core.RTCStats
 */
Statistics related to RTC data channels.

@property {external:int64} bytesSent
Represents the total number of payload bytes sent on this PeerConnection,
i.e., not including headers or padding.
@property {external:int64} bytesReceived
Represents the total number of bytes received on this PeerConnection, i.e.,
not including headers or padding.
@property {external:String} rtcpTransportStatsId
If RTP and RTCP are not multiplexed, this is the id of the transport that
gives stats for the RTCP component, and this record has only the RTP
component stats.
@property {external:Boolean} activeConnection
Set to true when transport is active.
@property {external:String} selectedCandidatePairId
It is a unique identifier that is associated to the object that was
inspected to produce the RTCIceCandidatePairStats associated with this
transport.
@property {external:String} localCertificateId
For components where DTLS is negotiated, give local certificate.
@property {external:String} remoteCertificateId
For components where DTLS is negotiated, give remote certificate.


Statistics related to RTC data channels . @property { external : int64 } bytesSent Represents the total number of payload bytes sent on this PeerConnection i . e . not including headers or padding . @property { external : int64 } bytesReceived Represents the total number of bytes received on this PeerConnection i . e . not including headers or padding . @property { external : String } rtcpTransportStatsId If RTP and RTCP are not multiplexed this is the id of the transport that gives stats for the RTCP component and this record has only the RTP component stats . @property { external : Boolean } activeConnection Set to true when transport is active . @property { external : String } selectedCandidatePairId It is a unique identifier that is associated to the object that was inspected to produce the RTCIceCandidatePairStats associated with this transport . @property { external : String } localCertificateId For components where DTLS is negotiated give local certificate . @property { external : String } remoteCertificateId For components where DTLS is negotiated give remote certificate .
function RTCTransportStats(rTCTransportStatsDict){
  if(!(this instanceof RTCTransportStats))
    return new RTCTransportStats(rTCTransportStatsDict)
  rTCTransportStatsDict = rTCTransportStatsDict || {}
  checkType('int64', 'rTCTransportStatsDict.bytesSent', rTCTransportStatsDict.bytesSent, {required: true});
  checkType('int64', 'rTCTransportStatsDict.bytesReceived', rTCTransportStatsDict.bytesReceived, {required: true});
  checkType('String', 'rTCTransportStatsDict.rtcpTransportStatsId', rTCTransportStatsDict.rtcpTransportStatsId, {required: true});
  checkType('boolean', 'rTCTransportStatsDict.activeConnection', rTCTransportStatsDict.activeConnection, {required: true});
  checkType('String', 'rTCTransportStatsDict.selectedCandidatePairId', rTCTransportStatsDict.selectedCandidatePairId, {required: true});
  checkType('String', 'rTCTransportStatsDict.localCertificateId', rTCTransportStatsDict.localCertificateId, {required: true});
  checkType('String', 'rTCTransportStatsDict.remoteCertificateId', rTCTransportStatsDict.remoteCertificateId, {required: true});
  Init parent class
  RTCTransportStats.super_.call(this, rTCTransportStatsDict)
  Set object properties
  Object.defineProperties(this, {
    bytesSent: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.bytesSent
    },
    bytesReceived: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.bytesReceived
    },
    rtcpTransportStatsId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.rtcpTransportStatsId
    },
    activeConnection: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.activeConnection
    },
    selectedCandidatePairId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.selectedCandidatePairId
    },
    localCertificateId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.localCertificateId
    },
    remoteCertificateId: {
      writable: true,
      enumerable: true,
      value: rTCTransportStatsDict.remoteCertificateId
    }
  })
}
function RTCTransportStats ( rTCTransportStatsDict ) { if ( ! ( this instanceof RTCTransportStats ) ) return new RTCTransportStats ( rTCTransportStatsDict ) rTCTransportStatsDict = rTCTransportStatsDict || { } RTCTransportStats . super_ . call ( this , rTCTransportStatsDict ) Object . defineProperties ( this , { bytesSent : { writable : true , enumerable : true , value : rTCTransportStatsDict . bytesSent } , bytesReceived : { writable : true , enumerable : true , value : rTCTransportStatsDict . bytesReceived } , rtcpTransportStatsId : { writable : true , enumerable : true , value : rTCTransportStatsDict . rtcpTransportStatsId } , activeConnection : { writable : true , enumerable : true , value : rTCTransportStatsDict . activeConnection } , selectedCandidatePairId : { writable : true , enumerable : true , value : rTCTransportStatsDict . selectedCandidatePairId } , localCertificateId : { writable : true , enumerable : true , value : rTCTransportStatsDict . localCertificateId } , remoteCertificateId : { writable : true , enumerable : true , value : rTCTransportStatsDict . remoteCertificateId } } ) }
Statistics related to RTC data channels.
Statistics related to RTC data channels .
// Check rTCTransportStatsDict has the required fields //  // checkType('int64', 'rTCTransportStatsDict.bytesSent', rTCTransportStatsDict.bytesSent, {required: true}); //   // checkType('int64', 'rTCTransportStatsDict.bytesReceived', rTCTransportStatsDict.bytesReceived, {required: true}); //   // checkType('String', 'rTCTransportStatsDict.rtcpTransportStatsId', rTCTransportStatsDict.rtcpTransportStatsId, {required: true}); //   // checkType('boolean', 'rTCTransportStatsDict.activeConnection', rTCTransportStatsDict.activeConnection, {required: true}); //   // checkType('String', 'rTCTransportStatsDict.selectedCandidatePairId', rTCTransportStatsDict.selectedCandidatePairId, {required: true}); //   // checkType('String', 'rTCTransportStatsDict.localCertificateId', rTCTransportStatsDict.localCertificateId, {required: true}); //   // checkType('String', 'rTCTransportStatsDict.remoteCertificateId', rTCTransportStatsDict.remoteCertificateId, {required: true}); //   // Init parent class // Set object properties