Media/WebRTC/WebRTCE10S/NetworkProxyInterface: Difference between revisions

From MozillaWiki
< Media‎ | WebRTC‎ | WebRTCE10S
Jump to navigation Jump to search
Line 18: Line 18:


The following interfaces should be synchronous/RPC-style.
The following interfaces should be synchronous/RPC-style.
To create a socket:
To create a socket:
   
   
  nsresult CreateSocket(PRNetAddr* requested_address);
nsresult SocketCreate(PRNetAddr* requested_address, SocketHandle* handle);


You pass in a PRNetAddr with an IP address but an empty (0) port.
You pass in a PRNetAddr with an IP address but an empty (0) port.
On success, the port is filled in.
On success, the port is filled in, and the handle is valid.
 
 
To destroy a socket:


  nsresult SocketDestroy(SocketHandle handle);




This effectively closes it.


==== Packet Transmisson and Reception ====
==== Packet Transmisson and Reception ====

Revision as of 10:02, 24 April 2013

Network Proxy Interfaces for WebRTC E10S Split

Address Enumeration

 EnumerateInterfaces()
   
   Returns a sequence of:
   {
      string name;
      PRNetAddr address;
      InterfaceType type;
    }
    enum InterfaceType { Local, Wired, WiFi, Mobile, Virtual };

it would be best if this were a synchronous RPC call, but if it has to be async we can live with that.

Socket Management

The following interfaces should be synchronous/RPC-style.

To create a socket:

nsresult SocketCreate(PRNetAddr* requested_address, SocketHandle* handle);

You pass in a PRNetAddr with an IP address but an empty (0) port. On success, the port is filled in, and the handle is valid.


To destroy a socket:

 nsresult SocketDestroy(SocketHandle handle);


This effectively closes it.

Packet Transmisson and Reception