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

Unified Diff: webkit/plugins/ppapi/ppb_transport_impl.cc

Issue 7820008: Add TCP configuration parameters for Transport API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 4 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
« webkit/glue/p2p_transport.h ('K') | « webkit/glue/p2p_transport.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/ppapi/ppb_transport_impl.cc
diff --git a/webkit/plugins/ppapi/ppb_transport_impl.cc b/webkit/plugins/ppapi/ppb_transport_impl.cc
index f9d9cc15f31578df38432950e1b575db1082d477..0ca42141a77c6cd21467252755b15ae25719d0a3 100644
--- a/webkit/plugins/ppapi/ppb_transport_impl.cc
+++ b/webkit/plugins/ppapi/ppb_transport_impl.cc
@@ -33,6 +33,8 @@ const char kTcpProtocolName[] = "tcp";
const int kMinBufferSize = 1024;
const int kMaxBufferSize = 1024 * 1024;
+const int kMinAckDelay = 10;
+const int kMaxAckDelay = 1000;
int MapNetError(int result) {
if (result > 0)
@@ -170,6 +172,30 @@ int32_t PPB_Transport_Impl::SetProperty(PP_TransportProperty property,
break;
}
+ case PP_TRANSPORTPROPERTY_TCP_NO_DELAY: {
+ if (!use_tcp_)
+ return PP_ERROR_BADARGUMENT;
+
+ if (value.type != PP_VARTYPE_BOOL) {
brettw 2011/09/01 16:49:19 No {} for single-line (for consistency).
Sergey Ulanov 2011/09/03 21:10:02 Done.
+ return PP_ERROR_BADARGUMENT;
+ }
+ config_.tcp_receive_window = value.value.as_bool;
brettw 2011/09/01 16:49:19 Copy paste error: you meant to set no_delay.
Sergey Ulanov 2011/09/03 21:10:02 Done.
+ break;
+ }
+
+ case PP_TRANSPORTPROPERTY_TCP_ACK_DELAY: {
+ if (!use_tcp_)
+ return PP_ERROR_BADARGUMENT;
+
+ int32_t int_value = value.value.as_int;
+ if (value.type != PP_VARTYPE_INT32 || int_value < kMinAckDelay ||
+ int_value > kMaxAckDelay) {
+ return PP_ERROR_BADARGUMENT;
+ }
+ config_.tcp_ack_delay_ms = int_value;
+ break;
+ }
+
default:
return PP_ERROR_BADARGUMENT;
}
@@ -299,7 +325,6 @@ int32_t PPB_Transport_Impl::Close() {
p2p_transport_.reset();
-
PluginModule* plugin_module = ResourceHelper::GetPluginModule(this);
if (plugin_module)
plugin_module->GetCallbackTracker()->AbortAll();
« webkit/glue/p2p_transport.h ('K') | « webkit/glue/p2p_transport.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698