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

Side by Side Diff: sdk/lib/io/http_impl.dart

Issue 304513004: Add 'owner' field to sockets, that point to a potential IO resource using that Socket. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix. Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart.io; 5 part of dart.io;
6 6
7 const int _OUTGOING_BUFFER_SIZE = 8 * 1024; 7 const int _OUTGOING_BUFFER_SIZE = 8 * 1024;
8 8
9 class _HttpIncoming extends Stream<List<int>> { 9 class _HttpIncoming extends Stream<List<int>> {
10 final int _transferLength; 10 final int _transferLength;
(...skipping 2070 matching lines...) Expand 10 before | Expand all | Expand 10 after
2081 .then((socket) { 2081 .then((socket) {
2082 return new _HttpServer._(socket, true); 2082 return new _HttpServer._(socket, true);
2083 }); 2083 });
2084 } 2084 }
2085 2085
2086 _HttpServer._(this._serverSocket, this._closeServer) { 2086 _HttpServer._(this._serverSocket, this._closeServer) {
2087 _controller = new StreamController<HttpRequest>(sync: true, 2087 _controller = new StreamController<HttpRequest>(sync: true,
2088 onCancel: close); 2088 onCancel: close);
2089 idleTimeout = const Duration(seconds: 120); 2089 idleTimeout = const Duration(seconds: 120);
2090 _servers[_serviceId] = this; 2090 _servers[_serviceId] = this;
2091 _serverSocket._owner = this;
2091 } 2092 }
2092 2093
2093 _HttpServer.listenOn(this._serverSocket) : _closeServer = false { 2094 _HttpServer.listenOn(this._serverSocket) : _closeServer = false {
2094 _controller = new StreamController<HttpRequest>(sync: true, 2095 _controller = new StreamController<HttpRequest>(sync: true,
2095 onCancel: close); 2096 onCancel: close);
2096 idleTimeout = const Duration(seconds: 120); 2097 idleTimeout = const Duration(seconds: 120);
2097 _servers[_serviceId] = this; 2098 _servers[_serviceId] = this;
2099 try { _serverSocket._owner = this; } catch (_) {}
2098 } 2100 }
2099 2101
2100 Duration get idleTimeout => _idleTimeout; 2102 Duration get idleTimeout => _idleTimeout;
2101 2103
2102 void set idleTimeout(Duration duration) { 2104 void set idleTimeout(Duration duration) {
2103 if (_idleTimer != null) { 2105 if (_idleTimer != null) {
2104 _idleTimer.cancel(); 2106 _idleTimer.cancel();
2105 _idleTimer = null; 2107 _idleTimer = null;
2106 } 2108 }
2107 _idleTimeout = duration; 2109 _idleTimeout = duration;
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
2454 2456
2455 InternetAddress get remoteAddress => _socket.remoteAddress; 2457 InternetAddress get remoteAddress => _socket.remoteAddress;
2456 2458
2457 int get remotePort => _socket.remotePort; 2459 int get remotePort => _socket.remotePort;
2458 2460
2459 bool setOption(SocketOption option, bool enabled) { 2461 bool setOption(SocketOption option, bool enabled) {
2460 return _socket.setOption(option, enabled); 2462 return _socket.setOption(option, enabled);
2461 } 2463 }
2462 2464
2463 Map _toJSON(bool ref) => _socket._toJSON(ref); 2465 Map _toJSON(bool ref) => _socket._toJSON(ref);
2466 void set _owner(owner) { _socket._owner = owner; }
2464 } 2467 }
2465 2468
2466 2469
2467 class _AuthenticationScheme { 2470 class _AuthenticationScheme {
2468 final int _scheme; 2471 final int _scheme;
2469 2472
2470 static const UNKNOWN = const _AuthenticationScheme(-1); 2473 static const UNKNOWN = const _AuthenticationScheme(-1);
2471 static const BASIC = const _AuthenticationScheme(0); 2474 static const BASIC = const _AuthenticationScheme(0);
2472 static const DIGEST = const _AuthenticationScheme(1); 2475 static const DIGEST = const _AuthenticationScheme(1);
2473 2476
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
2702 const _RedirectInfo(this.statusCode, this.method, this.location); 2705 const _RedirectInfo(this.statusCode, this.method, this.location);
2703 } 2706 }
2704 2707
2705 String _getHttpVersion() { 2708 String _getHttpVersion() {
2706 var version = Platform.version; 2709 var version = Platform.version;
2707 // Only include major and minor version numbers. 2710 // Only include major and minor version numbers.
2708 int index = version.indexOf('.', version.indexOf('.') + 1); 2711 int index = version.indexOf('.', version.indexOf('.') + 1);
2709 version = version.substring(0, index); 2712 version = version.substring(0, index);
2710 return 'Dart/$version (dart:io)'; 2713 return 'Dart/$version (dart:io)';
2711 } 2714 }
OLDNEW
« no previous file with comments | « runtime/bin/vmservice/client/lib/src/elements/io_view.html ('k') | sdk/lib/io/secure_server_socket.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698