
Public Member Functions
| UDPSocket () | |
| UDPSocket (const InstanceHandle &instance) | |
| UDPSocket (PassRef, PP_Resource resource) | |
| UDPSocket (const UDPSocket &other) | |
| virtual | ~UDPSocket () |
| UDPSocket & | operator= (const UDPSocket &other) |
| int32_t | Bind (const NetAddress &addr, const CompletionCallback &callback) |
| NetAddress | GetBoundAddress () |
| int32_t | RecvFrom (char *buffer, int32_t num_bytes, const CompletionCallbackWithOutput< NetAddress > &callback) |
| int32_t | SendTo (const char *buffer, int32_t num_bytes, const NetAddress &addr, const CompletionCallback &callback) |
| void | Close () |
| int32_t | SetOption (PP_UDPSocket_Option name, const Var &value, const CompletionCallback &callback) |
| int32_t | JoinGroup (const NetAddress &group, const CompletionCallback callback) |
| int32_t | LeaveGroup (const NetAddress &group, const CompletionCallback callback) |
Static Public Member Functions
| static bool | IsAvailable () |
Detailed Description
The UDPSocket class provides UDP socket operations.
Permissions: Apps permission socket with subrule udp-bind is required for Bind(); subrule udp-send-to is required for SendTo(). For more details about network communication permissions, please see: /apps/app_network.html
Constructor & Destructor Documentation
| pp::UDPSocket::UDPSocket | ( | const InstanceHandle & | instance | ) | [explicit] |
A constructor used to create a UDPSocket object.
- Parameters:
[in] instance The instance with which this resource will be associated.
| pp::UDPSocket::UDPSocket | ( | PassRef | , |
| PP_Resource | resource | ||
| ) |
A constructor used when you have received a PP_Resource as a return value that has had 1 ref added for you.
- Parameters:
[in] resource A PPB_UDPSocketresource.
| pp::UDPSocket::UDPSocket | ( | const UDPSocket & | other | ) |
| virtual pp::UDPSocket::~UDPSocket | ( | ) | [virtual] |
The destructor.
Member Function Documentation
| int32_t pp::UDPSocket::Bind | ( | const NetAddress & | addr, |
| const CompletionCallback & | callback | ||
| ) |
Binds the socket to the given address.
- Parameters:
[in] addr A NetAddressobject.[in] callback A CompletionCallbackto be called upon completion.
- Returns:
- An int32_t containing an error code from
pp_errors.h.PP_ERROR_NOACCESSwill be returned if the caller doesn't have required permissions.PP_ERROR_ADDRESS_IN_USEwill be returned if the address is already in use.
| void pp::UDPSocket::Close | ( | ) |
Cancels all pending reads and writes, and closes the socket.
Any pending callbacks will still run, reporting PP_ERROR_ABORTED if pending IO was interrupted. After a call to this method, no output paramters passed into previous RecvFrom() calls will be accessed. It is not valid to call Bind() again.
The socket is implicitly closed if it is destroyed, so you are not required to call this method.
Get the address that the socket is bound to.
The socket must be bound.
- Returns:
- A
NetAddressobject. The object will be null (i.e., is_null() returns true) on failure.
| static bool pp::UDPSocket::IsAvailable | ( | ) | [static] |
Static function for determining whether the browser supports the PPB_UDPSocket interface.
- Returns:
- true if the interface is available, false otherwise.
| int32_t pp::UDPSocket::JoinGroup | ( | const NetAddress & | group, |
| const CompletionCallback | callback | ||
| ) |
Joins the multicast group with address specified by group parameter, which is expected to be a NetAddress object.
- Parameters:
[in] group A NetAddresscorresponding to the network address of the multicast group.[in] callback A CompletionCallbackto be called upon completion.
- Returns:
- An int32_t containing an error code from
pp_errors.h.
| int32_t pp::UDPSocket::LeaveGroup | ( | const NetAddress & | group, |
| const CompletionCallback | callback | ||
| ) |
Leaves the multicast group with address specified by group parameter, which is expected to be a NetAddress object.
- Parameters:
[in] group A NetAddresscorresponding to the network address of the multicast group.[in] callback A CompletionCallbackto be called upon completion.
- Returns:
- An int32_t containing an error code from
pp_errors.h.
| int32_t pp::UDPSocket::RecvFrom | ( | char * | buffer, |
| int32_t | num_bytes, | ||
| const CompletionCallbackWithOutput< NetAddress > & | callback | ||
| ) |
Receives data from the socket and stores the source address.
The socket must be bound.
Caveat: You should be careful about the lifetime of buffer. Typically you will use a CompletionCallbackFactory to scope callbacks to the lifetime of your class. When your class goes out of scope, the callback factory will not actually cancel the operation, but will rather just skip issuing the callback on your class. This means that if the underlying PPB_UDPSocket resource outlives your class, the browser will still try to write into your buffer when the operation completes. The buffer must be kept valid until then to avoid memory corruption. If you want to release the buffer while the RecvFrom() call is still pending, you should call Close() to ensure that the buffer won't be accessed in the future.
- Parameters:
[out] buffer The buffer to store the received data on success. It must be at least as large as num_bytes.[in] num_bytes The number of bytes to receive. [in] callback A CompletionCallbackWithOutputto be called upon completion.
- Returns:
- A non-negative number on success to indicate how many bytes have been received; otherwise, an error code from
pp_errors.h.
| int32_t pp::UDPSocket::SendTo | ( | const char * | buffer, |
| int32_t | num_bytes, | ||
| const NetAddress & | addr, | ||
| const CompletionCallback & | callback | ||
| ) |
Sends data to a specific destination.
The socket must be bound.
- Parameters:
[in] buffer The buffer containing the data to send. [in] num_bytes The number of bytes to send. [in] addr A NetAddressobject holding the destination address.[in] callback A CompletionCallbackto be called upon completion.
- Returns:
- A non-negative number on success to indicate how many bytes have been sent; otherwise, an error code from
pp_errors.h.PP_ERROR_NOACCESSwill be returned if the caller doesn't have required permissions.PP_ERROR_INPROGRESSwill be returned if the socket is busy sending. The caller should wait until a pending send completes before retrying.
| int32_t pp::UDPSocket::SetOption | ( | PP_UDPSocket_Option | name, |
| const Var & | value, | ||
| const CompletionCallback & | callback | ||
| ) |
Sets a socket option on the UDP socket.
Please see the PP_UDPSocket_Option description for option names, value types and allowed values.
- Parameters:
[in] name The option to set. [in] value The option value to set. [in] callback A CompletionCallbackto be called upon completion.
- Returns:
- An int32_t containing an error code from
pp_errors.h.
The documentation for this class was generated from the following file: