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

Side by Side Diff: runtime/bin/http_impl.dart

Issue 9597015: Update Timer API to take the callback as the last parameter. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 9 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
« no previous file with comments | « runtime/bin/file_impl.dart ('k') | runtime/bin/list_stream_impl.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 // Utility class for encoding a string into UTF-8 byte stream. 5 // Utility class for encoding a string into UTF-8 byte stream.
6 class _UTF8Encoder { 6 class _UTF8Encoder {
7 static List<int> encodeString(String string) { 7 static List<int> encodeString(String string) {
8 int size = _encodingSize(string); 8 int size = _encodingSize(string);
9 ByteArray result = new ByteArray(size); 9 ByteArray result = new ByteArray(size);
10 _encodeString(string, result); 10 _encodeString(string, result);
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 _connectionOpened(socketConn, connection); 1055 _connectionOpened(socketConn, connection);
1056 }; 1056 };
1057 socket.onError = () { 1057 socket.onError = () {
1058 if (_onError !== null) { 1058 if (_onError !== null) {
1059 _onError(HttpStatus.NETWORK_CONNECT_TIMEOUT_ERROR); 1059 _onError(HttpStatus.NETWORK_CONNECT_TIMEOUT_ERROR);
1060 } 1060 }
1061 }; 1061 };
1062 } else { 1062 } else {
1063 _SocketConnection socketConn = socketConnections.removeFirst(); 1063 _SocketConnection socketConn = socketConnections.removeFirst();
1064 _activeSockets.add(socketConn); 1064 _activeSockets.add(socketConn);
1065 new Timer((ignored) => _connectionOpened(socketConn, connection), 0); 1065 new Timer(0, (ignored) => _connectionOpened(socketConn, connection));
1066 1066
1067 // Get rid of eviction timer if there are no more active connections. 1067 // Get rid of eviction timer if there are no more active connections.
1068 if (socketConnections.isEmpty()) { 1068 if (socketConnections.isEmpty()) {
1069 _evictionTimer.cancel(); 1069 _evictionTimer.cancel();
1070 _evictionTimer = null; 1070 _evictionTimer = null;
1071 } 1071 }
1072 } 1072 }
1073 1073
1074 return connection; 1074 return connection;
1075 } 1075 }
(...skipping 26 matching lines...) Expand all
1102 _SocketConnection socketConn = connections.last(); 1102 _SocketConnection socketConn = connections.last();
1103 if (socketConn._idleTime(now).inMilliseconds > 1103 if (socketConn._idleTime(now).inMilliseconds >
1104 DEFAULT_EVICTION_TIMEOUT) { 1104 DEFAULT_EVICTION_TIMEOUT) {
1105 connections.removeLast(); 1105 connections.removeLast();
1106 } else { 1106 } else {
1107 break; 1107 break;
1108 } 1108 }
1109 } 1109 }
1110 }); 1110 });
1111 } 1111 }
1112 _evictionTimer = new Timer.repeating(_handleEviction, 10000); 1112 _evictionTimer = new Timer.repeating(10000, _handleEviction);
1113 } 1113 }
1114 1114
1115 // Return connection. 1115 // Return connection.
1116 _activeSockets.remove(socketConn); 1116 _activeSockets.remove(socketConn);
1117 sockets.addFirst(socketConn); 1117 sockets.addFirst(socketConn);
1118 socketConn._markReturned(); 1118 socketConn._markReturned();
1119 } 1119 }
1120 1120
1121 void set onError(void callback(int status)) { 1121 void set onError(void callback(int status)) {
1122 _onError = callback; 1122 _onError = callback;
1123 } 1123 }
1124 1124
1125 Function _onOpen; 1125 Function _onOpen;
1126 Function _onError; 1126 Function _onError;
1127 Map<String, Queue<_SocketConnection>> _openSockets; 1127 Map<String, Queue<_SocketConnection>> _openSockets;
1128 Set<_SocketConnection> _activeSockets; 1128 Set<_SocketConnection> _activeSockets;
1129 Timer _evictionTimer; 1129 Timer _evictionTimer;
1130 bool _shutdown; // Has this HTTP client been shutdown? 1130 bool _shutdown; // Has this HTTP client been shutdown?
1131 } 1131 }
OLDNEW
« no previous file with comments | « runtime/bin/file_impl.dart ('k') | runtime/bin/list_stream_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698