Pepper_47_C++_interfaces
Public Member Functions | List of all members
pp::WebSocket Class Reference

#include <websocket.h>

Inheritance diagram for pp::WebSocket:
Inheritance graph
Collaboration diagram for pp::WebSocket:
Collaboration graph

Public Member Functions

 WebSocket (const InstanceHandle &instance)
 
virtual ~WebSocket ()
 Destructs a WebSocket object. More...
 
int32_t Connect (const Var &url, const Var protocols[], uint32_t protocol_count, const CompletionCallback &callback)
 
int32_t Close (uint16_t code, const Var &reason, const CompletionCallback &callback)
 
int32_t ReceiveMessage (Var *message, const CompletionCallback &callback)
 
int32_t SendMessage (const Var &message)
 
uint64_t GetBufferedAmount ()
 
uint16_t GetCloseCode ()
 
Var GetCloseReason ()
 
bool GetCloseWasClean ()
 
Var GetExtensions ()
 
Var GetProtocol ()
 
PP_WebSocketReadyState GetReadyState ()
 
Var GetURL ()
 
- Public Member Functions inherited from pp::Resource
 Resource ()
 The default constructor. More...
 
 Resource (const Resource &other)
 
virtual ~Resource ()
 Destructor. More...
 
Resourceoperator= (const Resource &other)
 
bool is_null () const
 
PP_Resource pp_resource () const
 
PP_Resource detach ()
 

Additional Inherited Members

- Protected Member Functions inherited from pp::Resource
 Resource (PP_Resource resource)
 
 Resource (PassRef, PP_Resource resource)
 
void PassRefFromConstructor (PP_Resource resource)
 
void Clear ()
 Sets this resource to null. This releases ownership of the resource. More...
 

Detailed Description

The WebSocket class providing bi-directional, full-duplex, communications over a single TCP socket.

Definition at line 28 of file websocket.h.

Constructor & Destructor Documentation

pp::WebSocket::WebSocket ( const InstanceHandle instance)
explicit

Constructs a WebSocket object.

Parameters
[in]instanceThe instance with which this resource will be associated.

Definition at line 25 of file websocket.cc.

References pp::Resource::PassRefFromConstructor(), and pp::InstanceHandle::pp_instance().

pp::WebSocket::~WebSocket ( )
virtual

Destructs a WebSocket object.

Definition at line 32 of file websocket.cc.

Member Function Documentation

int32_t pp::WebSocket::Close ( uint16_t  code,
const Var reason,
const CompletionCallback callback 
)

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

Parameters
[in]codeThe WebSocket close code. This is ignored if it is 0. 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 Var of string type representing the close reason. This is ignored if it is an undefined type.
[in]callbackA 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.

Definition at line 55 of file websocket.cc.

References pp::CompletionCallback::pp_completion_callback(), pp::Resource::pp_resource(), and pp::Var::pp_var().

int32_t pp::WebSocket::Connect ( const Var url,
const Var  protocols[],
uint32_t  protocol_count,
const CompletionCallback callback 
)

Connect() connects to the specified WebSocket server. You can call this function once for an object.

Parameters
[in]urlA Var of string type representing a WebSocket server URL.
[in]protocolsA pointer to an array of Var of string type specifying sub-protocols. Each Var represents one sub-protocol. This argument can be null only if protocol_count is 0.
[in]protocol_countThe number of sub-protocols in protocols.
[in]callbackA 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 specified url, or protocols contains 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().

Definition at line 35 of file websocket.cc.

References pp::CompletionCallback::pp_completion_callback(), pp::Resource::pp_resource(), and pp::Var::pp_var().

uint64_t pp::WebSocket::GetBufferedAmount ( )

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.

Returns
Returns the number of bytes.

Definition at line 87 of file websocket.cc.

References pp::Resource::pp_resource().

uint16_t pp::WebSocket::GetCloseCode ( )

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

Returns
Returns 0 if called before the close code is set.

Definition at line 94 of file websocket.cc.

References pp::Resource::pp_resource().

Var pp::WebSocket::GetCloseReason ( )

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

Returns
Returns a Var of string type. 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.

Definition at line 101 of file websocket.cc.

References pp::PASS_REF, pp::Resource::pp_resource(), and pp::Resource::Var.

bool pp::WebSocket::GetCloseWasClean ( )

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

Returns
Returns false if called before the connection is closed, called on an invalid resource, or closed for abnormal reasons. Otherwise, returns true if the connection was closed cleanly.

Definition at line 109 of file websocket.cc.

References pp::Resource::pp_resource().

Var pp::WebSocket::GetExtensions ( )

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

Returns
Returns a Var of string type. 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. Currently the Var's data for valid resources are always an empty string.

Definition at line 118 of file websocket.cc.

References pp::PASS_REF, pp::Resource::pp_resource(), and pp::Resource::Var.

Var pp::WebSocket::GetProtocol ( )

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

Returns
Returns a Var of string type. If called before the connection is established, the Var contains the empty string. Returns a code>PP_VARTYPE_UNDEFINED if called on an invalid resource.

Definition at line 126 of file websocket.cc.

References pp::PASS_REF, pp::Resource::pp_resource(), and pp::Resource::Var.

PP_WebSocketReadyState pp::WebSocket::GetReadyState ( )

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

Returns
Returns PP_WEBSOCKETREADYSTATE_INVALID if called before Connect() is called, or if this function is called on an invalid resource.

Definition at line 134 of file websocket.cc.

References pp::Resource::pp_resource().

Var pp::WebSocket::GetURL ( )

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

Returns
Returns a Var of string type. 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.

Definition at line 141 of file websocket.cc.

References pp::PASS_REF, pp::Resource::pp_resource(), and pp::Resource::Var.

int32_t pp::WebSocket::ReceiveMessage ( Var message,
const 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
[out]messageThe received message is copied to provided message. The message must remain valid until ReceiveMessage() completes. Its received Var will be of string or ArrayBuffer type.
[in]callbackA 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.

Definition at line 65 of file websocket.cc.

References pp::CompletionCallback::pp_completion_callback(), pp::Resource::pp_resource(), pp::Var::pp_var(), and pp::Resource::Var.

int32_t pp::WebSocket::SendMessage ( const Var message)

SendMessage() sends a message to the WebSocket server.

Parameters
[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. This Var must be of string or ArrayBuffer types.
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, but it doesn't necessarily mean that the server received the message.

Definition at line 79 of file websocket.cc.

References pp::Resource::pp_resource(), and pp::Var::pp_var().


The documentation for this class was generated from the following files: