Native Client

PPB_WebSocket Struct Reference

The PPB_WebSocket interface provides bi-directional, full-duplex, communications over a single TCP socket. More...


Detailed Description

The PPB_WebSocket interface provides bi-directional, full-duplex, communications over a single TCP socket.

Data Fields List

PP_Resource(* Create )(PP_Instance instance)
PP_Bool(* IsWebSocket )(PP_Resource resource)
int32_t(* Connect )(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback)
int32_t(* Close )(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback)
int32_t(* ReceiveMessage )(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback)
int32_t(* SendMessage )(PP_Resource web_socket, struct PP_Var message)
uint64_t(* GetBufferedAmount )(PP_Resource web_socket)
uint16_t(* GetCloseCode )(PP_Resource web_socket)
struct PP_Var(* GetCloseReason )(PP_Resource web_socket)
PP_Bool(* GetCloseWasClean )(PP_Resource web_socket)
struct PP_Var(* GetExtensions )(PP_Resource web_socket)
struct PP_Var(* GetProtocol )(PP_Resource web_socket)
PP_WebSocketReadyState(* GetReadyState )(PP_Resource web_socket)
struct PP_Var(* GetURL )(PP_Resource web_socket)

Data Fields Details

int32_t(* PPB_WebSocket::Close)(PP_Resource web_socket, uint16_t code, struct PP_Var reason, struct PP_CompletionCallback callback)

Close() closes the specified WebSocket connection by specifying code and reason.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
[in]codeThe WebSocket close code. This is ignored if it is PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED. PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE must be used for the usual case. To indicate some specific error cases, codes in the range PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MIN to PP_WEBSOCKETSTATUSCODE_USER_REGISTERED_MAX, and in the range PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MIN to PP_WEBSOCKETSTATUSCODE_USER_PRIVATE_MAX are available.
[in]reasonA PP_Var representing the WebSocket close reason. This is ignored if it is PP_VARTYPE_UNDEFINED. Otherwise, its PP_VarType must be PP_VARTYPE_STRING.
[in]callbackA PP_CompletionCallback called when the connection is closed or an error occurs in closing the connection.
Returns:
An int32_t containing an error code from pp_errors.h. Returns PP_ERROR_BADARGUMENT if reason contains an invalid character as a UTF-8 string, or is longer than 123 bytes. PP_ERROR_BADARGUMENT corresponds to a JavaScript SyntaxError in the WebSocket API specification. Returns PP_ERROR_NOACCESS if the code is not an integer equal to 1000 or in the range 3000 to 4999. PP_ERROR_NOACCESS corresponds to an InvalidAccessError in the WebSocket API specification. Returns PP_ERROR_INPROGRESS if a previous call to Close() is not finished.
int32_t(* PPB_WebSocket::Connect)(PP_Resource web_socket, struct PP_Var url, const struct PP_Var protocols[], uint32_t protocol_count, struct PP_CompletionCallback callback)

Connect() connects to the specified WebSocket server.

You can call this function once for a web_socket.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
[in]urlA PP_Var representing a WebSocket server URL. The PP_VarType must be PP_VARTYPE_STRING.
[in]protocolsA pointer to an array of PP_Var specifying sub-protocols. Each PP_Var represents one sub-protocol and its PP_VarType must be PP_VARTYPE_STRING. This argument can be null only if protocol_count is 0.
[in]protocol_countThe number of sub-protocols in protocols.
[in]callbackA PP_CompletionCallback called when a connection is established or an error occurs in establishing connection.
Returns:
An int32_t containing an error code from pp_errors.h. Returns PP_ERROR_BADARGUMENT if the specified url, or protocols contain an invalid string as defined in the WebSocket API specification. PP_ERROR_BADARGUMENT corresponds to a SyntaxError in the WebSocket API specification. Returns PP_ERROR_NOACCESS if the protocol specified in the url is not a secure protocol, but the origin of the caller has a secure scheme. Also returns PP_ERROR_NOACCESS if the port specified in the url is a port that the user agent is configured to block access to because it is a well-known port like SMTP. PP_ERROR_NOACCESS corresponds to a SecurityError of the specification. Returns PP_ERROR_INPROGRESS if this is not the first call to Connect().

Create() creates a WebSocket instance.

Parameters:
[in]instanceA PP_Instance identifying the instance with the WebSocket.
Returns:
A PP_Resource corresponding to a WebSocket if successful.

GetBufferedAmount() returns the number of bytes of text and binary messages that have been queued for the WebSocket connection to send, but have not been transmitted to the network yet.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns the number of bytes.
uint16_t(* PPB_WebSocket::GetCloseCode)(PP_Resource web_socket)

GetCloseCode() returns the connection close code for the WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns 0 if called before the close code is set.
struct PP_Var(* PPB_WebSocket::GetCloseReason)(PP_Resource web_socket) [read]

GetCloseReason() returns the connection close reason for the WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns a PP_VARTYPE_STRING var. If called before the close reason is set, the return value contains an empty string. Returns a PP_VARTYPE_UNDEFINED if called on an invalid resource.

GetCloseWasClean() returns if the connection was closed cleanly for the specified WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns PP_FALSE if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns PP_TRUE if the connection was closed cleanly.
struct PP_Var(* PPB_WebSocket::GetExtensions)(PP_Resource web_socket) [read]

GetExtensions() returns the extensions selected by the server for the specified WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns a PP_VARTYPE_STRING var. If called before the connection is established, the var's data is an empty string. Returns a PP_VARTYPE_UNDEFINED if called on an invalid resource.
struct PP_Var(* PPB_WebSocket::GetProtocol)(PP_Resource web_socket) [read]

GetProtocol() returns the sub-protocol chosen by the server for the specified WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns a PP_VARTYPE_STRING var. If called before the connection is established, the var contains the empty string. Returns a PP_VARTYPE_UNDEFINED if called on an invalid resource.

GetReadyState() returns the ready state of the specified WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns PP_WEBSOCKETREADYSTATE_INVALID if called before Connect() is called, or if this function is called on an invalid resource.
struct PP_Var(* PPB_WebSocket::GetURL)(PP_Resource web_socket) [read]

GetURL() returns the URL associated with specified WebSocket connection.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
Returns:
Returns a PP_VARTYPE_STRING var. If called before the connection is established, the var contains the empty string. Returns a PP_VARTYPE_UNDEFINED if this function is called on an invalid resource.

IsWebSocket() determines if the provided resource is a WebSocket instance.

Parameters:
[in]resourceA PP_Resource corresponding to a WebSocket.
Returns:
Returns PP_TRUE if resource is a PPB_WebSocket, PP_FALSE if the resource is invalid or some type other than PPB_WebSocket.
int32_t(* PPB_WebSocket::ReceiveMessage)(PP_Resource web_socket, struct PP_Var *message, struct PP_CompletionCallback callback)

ReceiveMessage() receives a message from the WebSocket server.

This interface only returns a single message. That is, this interface must be called at least N times to receive N messages, no matter the size of each message.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
[out]messageThe received message is copied to provided message. The message must remain valid until ReceiveMessage() completes. Its received PP_VarType will be PP_VARTYPE_STRING or PP_VARTYPE_ARRAY_BUFFER.
[in]callbackA PP_CompletionCallback called when ReceiveMessage() completes. This callback is ignored if ReceiveMessage() completes synchronously and returns PP_OK.
Returns:
An int32_t containing an error code from pp_errors.h. If an error is detected or connection is closed, ReceiveMessage() returns PP_ERROR_FAILED after all buffered messages are received. Until buffered message become empty, ReceiveMessage() continues to return PP_OK as if connection is still established without errors.
int32_t(* PPB_WebSocket::SendMessage)(PP_Resource web_socket, struct PP_Var message)

SendMessage() sends a message to the WebSocket server.

Parameters:
[in]web_socketA PP_Resource corresponding to a WebSocket.
[in]messageA message to send. The message is copied to an internal buffer, so the caller can free message safely after returning from the function. Its sent PP_VarType must be PP_VARTYPE_STRING or PP_VARTYPE_ARRAY_BUFFER.
Returns:
An int32_t containing an error code from pp_errors.h. Returns PP_ERROR_FAILED if the ReadyState is PP_WEBSOCKETREADYSTATE_CONNECTING. PP_ERROR_FAILED corresponds to a JavaScript InvalidStateError in the WebSocket API specification. Returns PP_ERROR_BADARGUMENT if the provided message contains an invalid character as a UTF-8 string. PP_ERROR_BADARGUMENT corresponds to a JavaScript SyntaxError in the WebSocket API specification. Otherwise, returns PP_OK, which doesn't necessarily mean that the server received the message.

The documentation for this struct was generated from the following file:

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.