Pepper_42_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.
virtual pp::WebSocket::~WebSocket ( )
virtual

Destructs a WebSocket object.

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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

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