Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Unified Diff: ppapi/cpp/private/tcp_socket_private.cc

Issue 12220050: Provide a way to disable Nagle's algorithm on Pepper TCP sockets. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missing completion callback implementation. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/cpp/private/tcp_socket_private.cc
diff --git a/ppapi/cpp/private/tcp_socket_private.cc b/ppapi/cpp/private/tcp_socket_private.cc
index f60f2ef71643468c505ce4e2dca68a19980820dd..6704cfc86b311ad70be9785ab966f0cf2cbd912c 100644
--- a/ppapi/cpp/private/tcp_socket_private.cc
+++ b/ppapi/cpp/private/tcp_socket_private.cc
@@ -15,6 +15,10 @@ namespace pp {
namespace {
+template <> const char* interface_name<PPB_TCPSocket_Private_0_5>() {
+ return PPB_TCPSOCKET_PRIVATE_INTERFACE_0_5;
+}
+
template <> const char* interface_name<PPB_TCPSocket_Private_0_4>() {
return PPB_TCPSOCKET_PRIVATE_INTERFACE_0_4;
}
@@ -26,7 +30,10 @@ template <> const char* interface_name<PPB_TCPSocket_Private_0_3>() {
} // namespace
TCPSocketPrivate::TCPSocketPrivate(const InstanceHandle& instance) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
+ if (has_interface<PPB_TCPSocket_Private_0_5>()) {
+ PassRefFromConstructor(get_interface<PPB_TCPSocket_Private_0_5>()->Create(
+ instance.pp_instance()));
+ } else if (has_interface<PPB_TCPSocket_Private_0_4>()) {
PassRefFromConstructor(get_interface<PPB_TCPSocket_Private_0_4>()->Create(
instance.pp_instance()));
} else if (has_interface<PPB_TCPSocket_Private_0_3>()) {
@@ -41,17 +48,14 @@ TCPSocketPrivate::TCPSocketPrivate(PassRef, PP_Resource resource)
// static
bool TCPSocketPrivate::IsAvailable() {
- return has_interface<PPB_TCPSocket_Private_0_4>() ||
+ return has_interface<PPB_TCPSocket_Private_0_5>() ||
+ has_interface<PPB_TCPSocket_Private_0_4>() ||
has_interface<PPB_TCPSocket_Private_0_3>();
}
int32_t TCPSocketPrivate::Connect(const char* host,
uint16_t port,
const CompletionCallback& callback) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
yzshen1 2013/02/08 21:51:11 I am not sure whether we want to make this change.
Wez 2013/02/10 04:47:02 This change was suggested by dmichael@ - let's dis
yzshen1 2013/02/12 17:39:58 Sounds good. On 2013/02/10 04:47:02, Wez wrote:
- return get_interface<PPB_TCPSocket_Private_0_4>()->Connect(
- pp_resource(), host, port, callback.pp_completion_callback());
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
return get_interface<PPB_TCPSocket_Private_0_3>()->Connect(
pp_resource(), host, port, callback.pp_completion_callback());
@@ -62,10 +66,6 @@ int32_t TCPSocketPrivate::Connect(const char* host,
int32_t TCPSocketPrivate::ConnectWithNetAddress(
const PP_NetAddress_Private* addr,
const CompletionCallback& callback) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- return get_interface<PPB_TCPSocket_Private_0_4>()->ConnectWithNetAddress(
- pp_resource(), addr, callback.pp_completion_callback());
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
return get_interface<PPB_TCPSocket_Private_0_3>()->ConnectWithNetAddress(
pp_resource(), addr, callback.pp_completion_callback());
@@ -74,11 +74,6 @@ int32_t TCPSocketPrivate::ConnectWithNetAddress(
}
bool TCPSocketPrivate::GetLocalAddress(PP_NetAddress_Private* local_addr) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- PP_Bool result = get_interface<PPB_TCPSocket_Private_0_4>()->
- GetLocalAddress(pp_resource(), local_addr);
- return PP_ToBool(result);
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
PP_Bool result = get_interface<PPB_TCPSocket_Private_0_3>()->
GetLocalAddress(pp_resource(), local_addr);
@@ -88,11 +83,6 @@ bool TCPSocketPrivate::GetLocalAddress(PP_NetAddress_Private* local_addr) {
}
bool TCPSocketPrivate::GetRemoteAddress(PP_NetAddress_Private* remote_addr) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- PP_Bool result = get_interface<PPB_TCPSocket_Private_0_4>()->
- GetRemoteAddress(pp_resource(), remote_addr);
- return PP_ToBool(result);
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
PP_Bool result = get_interface<PPB_TCPSocket_Private_0_3>()->
GetRemoteAddress(pp_resource(), remote_addr);
@@ -104,11 +94,6 @@ bool TCPSocketPrivate::GetRemoteAddress(PP_NetAddress_Private* remote_addr) {
int32_t TCPSocketPrivate::SSLHandshake(const char* server_name,
uint16_t server_port,
const CompletionCallback& callback) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- return get_interface<PPB_TCPSocket_Private_0_4>()->SSLHandshake(
- pp_resource(), server_name, server_port,
- callback.pp_completion_callback());
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
return get_interface<PPB_TCPSocket_Private_0_3>()->SSLHandshake(
pp_resource(), server_name, server_port,
@@ -140,11 +125,6 @@ bool TCPSocketPrivate::AddChainBuildingCertificate(
int32_t TCPSocketPrivate::Read(char* buffer,
int32_t bytes_to_read,
const CompletionCallback& callback) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- return get_interface<PPB_TCPSocket_Private_0_4>()->Read(
- pp_resource(), buffer, bytes_to_read,
- callback.pp_completion_callback());
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
return get_interface<PPB_TCPSocket_Private_0_3>()->Read(
pp_resource(), buffer, bytes_to_read,
@@ -156,11 +136,6 @@ int32_t TCPSocketPrivate::Read(char* buffer,
int32_t TCPSocketPrivate::Write(const char* buffer,
int32_t bytes_to_write,
const CompletionCallback& callback) {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- return get_interface<PPB_TCPSocket_Private_0_4>()->Write(
- pp_resource(), buffer, bytes_to_write,
- callback.pp_completion_callback());
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
return get_interface<PPB_TCPSocket_Private_0_3>()->Write(
pp_resource(), buffer, bytes_to_write,
@@ -170,14 +145,20 @@ int32_t TCPSocketPrivate::Write(const char* buffer,
}
void TCPSocketPrivate::Disconnect() {
- if (has_interface<PPB_TCPSocket_Private_0_4>()) {
- return get_interface<PPB_TCPSocket_Private_0_4>()->Disconnect(
- pp_resource());
- }
if (has_interface<PPB_TCPSocket_Private_0_3>()) {
return get_interface<PPB_TCPSocket_Private_0_3>()->Disconnect(
pp_resource());
}
}
+int32_t TCPSocketPrivate::SetSocketFeature(PP_TCPSocketFeature_Private name,
+ const Var& value,
+ const CompletionCallback& callback) {
+ if (has_interface<PPB_TCPSocket_Private_0_5>()) {
+ return get_interface<PPB_TCPSocket_Private_0_5>()->SetSocketFeature(
+ pp_resource(), name, value.pp_var(), callback.pp_completion_callback());
+ }
+ return callback.MayForce(PP_ERROR_NOINTERFACE);
+}
+
} // namespace pp

Powered by Google App Engine
This is Rietveld 408576698