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