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

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

Issue 12328104: Change new List(n) to return fixed length list. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merge to head. Created 7 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
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 part of dart.io; 5 part of dart.io;
6 6
7 const String _webSocketGUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; 7 const String _webSocketGUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
8 8
9 class _WebSocketMessageType { 9 class _WebSocketMessageType {
10 static const int NONE = 0; 10 static const int NONE = 0;
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 Uri uri = Uri.parse(url); 440 Uri uri = Uri.parse(url);
441 if (uri.scheme != "ws" && uri.scheme != "wss") { 441 if (uri.scheme != "ws" && uri.scheme != "wss") {
442 throw new WebSocketException("Unsupported URL scheme '${uri.scheme}'"); 442 throw new WebSocketException("Unsupported URL scheme '${uri.scheme}'");
443 } 443 }
444 if (uri.userInfo != "") { 444 if (uri.userInfo != "") {
445 throw new WebSocketException("Unsupported user info '${uri.userInfo}'"); 445 throw new WebSocketException("Unsupported user info '${uri.userInfo}'");
446 } 446 }
447 447
448 Random random = new Random(); 448 Random random = new Random();
449 // Generate 16 random bytes. 449 // Generate 16 random bytes.
450 List<int> nonceData = new List<int>.fixedLength(16); 450 List<int> nonceData = new List<int>(16);
451 for (int i = 0; i < 16; i++) { 451 for (int i = 0; i < 16; i++) {
452 nonceData[i] = random.nextInt(256); 452 nonceData[i] = random.nextInt(256);
453 } 453 }
454 String nonce = _Base64._encode(nonceData); 454 String nonce = _Base64._encode(nonceData);
455 455
456 uri = new Uri.fromComponents(scheme: uri.scheme == "wss" ? "https" : "http", 456 uri = new Uri.fromComponents(scheme: uri.scheme == "wss" ? "https" : "http",
457 userInfo: uri.userInfo, 457 userInfo: uri.userInfo,
458 domain: uri.domain, 458 domain: uri.domain,
459 port: uri.port, 459 port: uri.port,
460 path: uri.path, 460 path: uri.path,
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 void _sendFrame(int opcode, [List<int> data]) { 633 void _sendFrame(int opcode, [List<int> data]) {
634 bool mask = false; // Masking not implemented for server. 634 bool mask = false; // Masking not implemented for server.
635 int dataLength = data == null ? 0 : data.length; 635 int dataLength = data == null ? 0 : data.length;
636 // Determine the header size. 636 // Determine the header size.
637 int headerSize = (mask) ? 6 : 2; 637 int headerSize = (mask) ? 6 : 2;
638 if (dataLength > 65535) { 638 if (dataLength > 65535) {
639 headerSize += 8; 639 headerSize += 8;
640 } else if (dataLength > 125) { 640 } else if (dataLength > 125) {
641 headerSize += 2; 641 headerSize += 2;
642 } 642 }
643 List<int> header = new List<int>.fixedLength(headerSize); 643 List<int> header = new List<int>(headerSize);
644 int index = 0; 644 int index = 0;
645 // Set FIN and opcode. 645 // Set FIN and opcode.
646 header[index++] = 0x80 | opcode; 646 header[index++] = 0x80 | opcode;
647 // Determine size and position of length field. 647 // Determine size and position of length field.
648 int lengthBytes = 1; 648 int lengthBytes = 1;
649 int firstLengthByte = 1; 649 int firstLengthByte = 1;
650 if (dataLength > 65535) { 650 if (dataLength > 65535) {
651 header[index++] = 127; 651 header[index++] = 127;
652 lengthBytes = 8; 652 lengthBytes = 8;
653 } else if (dataLength > 125) { 653 } else if (dataLength > 125) {
(...skipping 22 matching lines...) Expand all
676 676
677 class _WebSocketCloseEvent implements CloseEvent { 677 class _WebSocketCloseEvent implements CloseEvent {
678 _WebSocketCloseEvent(this._wasClean, this._code, this._reason); 678 _WebSocketCloseEvent(this._wasClean, this._code, this._reason);
679 bool get wasClean => _wasClean; 679 bool get wasClean => _wasClean;
680 int get code => _code; 680 int get code => _code;
681 String get reason => _reason; 681 String get reason => _reason;
682 bool _wasClean; 682 bool _wasClean;
683 int _code; 683 int _code;
684 String _reason; 684 String _reason;
685 } 685 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698