| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2014 The Native Client Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
| 4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 'use strict'; | 7 'use strict'; |
| 8 | 8 |
| 9 // This is the PPAPI code for TCP FIN (disconnected). | 9 // This is the PPAPI code for TCP FIN (disconnected). |
| 10 var ERROR_CODE_FIN = -100; | 10 var ERROR_CODE_FIN = -100; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 }); | 56 }); |
| 57 | 57 |
| 58 chrome.runtime.onConnectExternal.addListener(function(port) { | 58 chrome.runtime.onConnectExternal.addListener(function(port) { |
| 59 var tcp = chrome.sockets.tcp; | 59 var tcp = chrome.sockets.tcp; |
| 60 | 60 |
| 61 port.onMessage.addListener(function(msg) { | 61 port.onMessage.addListener(function(msg) { |
| 62 function resolve(data) { | 62 function resolve(data) { |
| 63 var response = { | 63 var response = { |
| 64 name: msg.name + '_reply', | 64 name: msg.name + '_reply', |
| 65 data: data || null | 65 data: data || null |
| 66 } | 66 }; |
| 67 port.postMessage(response); | 67 port.postMessage(response); |
| 68 } | 68 } |
| 69 function reject(err) { | 69 function reject(err) { |
| 70 var response = { | 70 var response = { |
| 71 name: msg.name + '_error', | 71 name: msg.name + '_error', |
| 72 error: err || null | 72 error: err || null |
| 73 } | 73 }; |
| 74 port.postMessage(response); | 74 port.postMessage(response); |
| 75 } | 75 } |
| 76 | 76 |
| 77 switch (msg.name) { | 77 switch (msg.name) { |
| 78 case 'tcp_connect': | 78 case 'tcp_connect': |
| 79 if (msg.addr === undefined || msg.port === undefined) { | 79 if (msg.addr === undefined || msg.port === undefined) { |
| 80 reject('"addr" and "port" fields expected'); | 80 reject('"addr" and "port" fields expected'); |
| 81 break; | 81 break; |
| 82 } | 82 } |
| 83 tcp.create({}, function(createInfo) { | 83 tcp.create({}, function(createInfo) { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 // O(N) time, but there's something wrong if there are enough TCP | 127 // O(N) time, but there's something wrong if there are enough TCP |
| 128 // connections that the performance of this loop matters. | 128 // connections that the performance of this loop matters. |
| 129 for (var socket in portMap) { | 129 for (var socket in portMap) { |
| 130 if (portMap[socket] === port) { | 130 if (portMap[socket] === port) { |
| 131 delete portMap[socket]; | 131 delete portMap[socket]; |
| 132 tcp.close(parseInt(socket), function() {}); | 132 tcp.close(parseInt(socket), function() {}); |
| 133 } | 133 } |
| 134 } | 134 } |
| 135 }); | 135 }); |
| 136 }); | 136 }); |
| OLD | NEW |