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

Unified Diff: native_client_sdk/src/libraries/nacl_io_socket_test/example.js

Issue 22587003: [NaCl SDK] Add UDP and TCP Sockets (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Running tests on package Created 7 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
Index: native_client_sdk/src/libraries/nacl_io_socket_test/example.js
diff --git a/native_client_sdk/src/libraries/nacl_io_test/example.js b/native_client_sdk/src/libraries/nacl_io_socket_test/example.js
similarity index 68%
copy from native_client_sdk/src/libraries/nacl_io_test/example.js
copy to native_client_sdk/src/libraries/nacl_io_socket_test/example.js
index bd175944b9a4deb1ac549ea1daabd4323271be1a..a661ec7ad7721adde5374963bb2e09a70f934bd4 100644
--- a/native_client_sdk/src/libraries/nacl_io_test/example.js
+++ b/native_client_sdk/src/libraries/nacl_io_socket_test/example.js
@@ -2,10 +2,52 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Called by the common.js module.
+
+function runTCPEchoServer(port) {
+ console.log("Starting server on TCP port: " + port);
+ chrome.socket.create("tcp", {}, function(createInfo) {
+ listeningSocket = createInfo.socketId;
binji 2013/08/09 19:28:06 var listeningSocket
noelallen1 2013/08/09 22:53:22 Done.
+ creatingServer = false;
binji 2013/08/09 19:28:06 unused
noelallen1 2013/08/09 22:53:22 Done.
+ chrome.socket.listen(listeningSocket,
+ '127.0.0.1',
+ port,
+ 10,
binji 2013/08/09 19:28:06 what is 10?
noelallen1 2013/08/09 22:53:22 Q depth. Cut and paste from socket example.
+ function(result) {
+ if (result !== 0) {
+ console.log("Listen failed: " + result);
+ return;
+ }
+
+ chrome.socket.accept(listeningSocket, function(acceptInfo) {
+ if (result !== 0) {
+ cconsole.log("Accept failed: " + result);
binji 2013/08/09 19:28:06 s/cconsole/console/
noelallen1 2013/08/09 22:53:22 Done.
+ return;
+ }
+
+ var newSock = acceptInfo.socketId;
+
+ var readCallback = function(readInfo) {
+ if (readInfo.resultCode < 0) {
+ console.log("Read failed: " + readInfo.resultCode);
+ chrome.socket.destroy(newSock);
+ return;
+ }
+
+ chrome.socket.write(newSock, readInfo.data, function(writeInfo) {})
+ chrome.socket.read(newSock, readCallback);
+ }
+
+ chrome.socket.read(newSock, readCallback);
+ })
+ })
+ })
+}
+
function moduleDidLoad() {
// The module is not hidden by default so we can easily see if the plugin
// failed to load.
common.hideModule();
+ runTCPEchoServer(4006);
binji 2013/08/09 19:28:06 does this work with 0 for ephemeral? Maybe worth d
noelallen1 2013/08/09 22:53:22 New CL. We don't really support testing as packag
binji 2013/08/09 23:08:27 OK
}
var currentTestEl = null;

Powered by Google App Engine
This is Rietveld 408576698