RTCIceTransport
===============

A interface **`RTCIceTransport`** fornece informação a respeito da camada de transporte ICE (en-US) na qual os dados estão sendo enviados e recebidos. Isso é particulamente útil se você precisa acessar as informações de estado da conexão.

Propriedades
------------

*A interface `RTCIceTransport` herda propriedades de sua interface pai, `EventTarget`. ele também oferta as seguintes propriedades:*

`component` (en-US) Somente leitura 

O componente ICE que esta sendo usado pela transporte. O valor é uma das strings do `RTCIceTransport` tipo enumerável: `"RTP" (en-US)` ou `"RTSP"`.

`gatheringState` (en-US) Somente leitura 

O `DOMString` indica em qual estado de recolhimento o agente ICE esta atualmente. O valor é um dos incluidos no `RTCIceGathererState` (en-US) tipo enumerável: `"new"`, `"gathering"`, ou `"complete"`.

`role` (en-US) Somente leitura 

Retorna uma `DOMString` cujo valor é um membro do tipo enumerável `RTCIceRole` (en-US): `"controlling"` ou `"controlled"`; Isso indica se o agente ICE é aquele que toma a decisão final quanto ao par candidato a ser usado ou não.

`state` (en-US) Somente leitura 

O `DOMString` indica qual o atual estado do agente ICE. O valor do `state` pode ser usado para determinar se o agente ICE fez uma conecxão inicial usando uma par de candidatos viável (`"connected"`), fez a seleção final do par de candidatos (`"completed"`), ou em um estado de erro (`"failed"`), além de outros estados. Veja o tipo enumerável `RTCIceTransportState` (en-US) para uma lista completa de estados.

Métodos
-------

*Também inclui métodos da interface pai `EventTarget`.*

`getLocalCandidates()` (en-US)

Retorna um array de objetos `RTCIceCandidate` (en-US), cada descrevendo um dos candidatos ICE que foram reunidos para o dispositivo local até o momento. Esses são os mesmos candidatos que já foram enviados para o peer remoto, enviando um evento `icecandidate` ao `RTCPeerConnection` (en-US) para transmissão.

`getLocalParameters()` (en-US)

Retorna o objeto `RTCIceParameters` (en-US) descrevendo o parâmetro ICE estabelecido através de uma ligação ao método `RTCPeerConnection.setLocalDescription()` (en-US). Retorna `null` se os parâmetros ainda não foram recebidos.

`getRemoteCandidates()` (en-US)

Retorna um array de objetos `RTCIceCandidate` (en-US), um para cada candidato do dispositivo remoto, que foram recebidos pelo local final da `RTCPeerConnection` (en-US) e entrega ao ICE através da chamada `addIceCandidate()` (en-US).

`getRemoteParameters()` (en-US)

Retorna um objeto `RTCIceParameters` (en-US) contendo os parâmetros ICE para o dispositivo remoto, como definido por uma chamada para `RTCPeerConnection.setRemoteDescription()` (en-US). Se `setRemoteDescription()` não foi chamada ainda, o retorno será `null`.

`getSelectedCandidatePair()` (en-US)

Retorna um objeto `RTCIceCandidatePair` (en-US) que identifica os dois candidatos — um para cada conexão — que foram selecionados até o momento. É possível que um par melhor sejá encontrado e selecionado posteriormente; Se você precisar acompanhar isso, veja o evento `selectedcandidatepairchange`. Se nenhum par de candidatos foi selecionado ainda o valor retornado será `null`.

Eventos
-------

Escute esses eventos usando `addEventListener()` ou atribuindo um *event listener* para `oneventname` propriedade dessa interface.

`gatheringstatechange` (en-US)

 Enviado ao objeto `RTCIceTransport` para indicar que o valor da propriedade `gatheringState` (en-US) foi alterado, indicando uma mudança no processo de negociação de candidatos ICE deste transporte.
 Também esta disponível através da propriedade *event handler* `ongatheringstatechange` (en-US).


`selectedcandidatepairchange` (en-US)

`Enviado para o RTCIceTransport` quando um novo, melhor par de candidatos foi selecionado para descrever a conectividade entre os dois peers. Isso pode ocorrer durante a negotiação ou a renegociação, incluindo depois de um ICE restart, que reusa os objetos `RTCIceTransport` existentes. O par de candidatos atuais pode ser obtido usando `getSelectedCandidatePair()` (en-US).
 Também esta disponível através da propriedade *event handler* `onselectedcandidatepairchange` (en-US).


`statechange` (en-US)

 Enviado par a instancia do `RTCIceTransport` quando o valor da propriedade `state` (en-US) foi alterada, indicando que o processo de recolhimento ICE mudou de estado.
 Também esta disponível através da propriedade *event handler* `onstatechange` (en-US).


Especificações
--------------

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # dom-rtcicetransport |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.