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

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

Issue 9500002: Rename blahHandler to onBlah throughout dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. 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/socket.dart ('k') | runtime/bin/socket_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 5
6 class _SocketBase { 6 class _SocketBase {
7 // Bit flags used when communicating between the eventhandler and 7 // Bit flags used when communicating between the eventhandler and
8 // dart code. The EVENT flags are used to indicate events of 8 // dart code. The EVENT flags are used to indicate events of
9 // interest when sending a message from dart code to the 9 // interest when sending a message from dart code to the
10 // eventhandler. When receiving a message from the eventhandler the 10 // eventhandler. When receiving a message from the eventhandler the
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 _handler != null) { 84 _handler != null) {
85 _handler.close(); 85 _handler.close();
86 _handler = null; 86 _handler = null;
87 } else { 87 } else {
88 _activateHandlers(); 88 _activateHandlers();
89 } 89 }
90 } 90 }
91 91
92 void _getPort() native "Socket_GetPort"; 92 void _getPort() native "Socket_GetPort";
93 93
94 void set errorHandler(void callback()) { 94 void set onError(void callback()) {
95 _setHandler(_ERROR_EVENT, callback); 95 _setHandler(_ERROR_EVENT, callback);
96 } 96 }
97 97
98 void _activateHandlers() { 98 void _activateHandlers() {
99 if (_canActivateHandlers && (_id >= 0)) { 99 if (_canActivateHandlers && (_id >= 0)) {
100 if (_handlerMask == 0) { 100 if (_handlerMask == 0) {
101 if (_handler != null) { 101 if (_handler != null) {
102 _handler.close(); 102 _handler.close();
103 _handler = null; 103 _handler = null;
104 } 104 }
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 return socket; 219 return socket;
220 } 220 }
221 221
222 _ServerSocket._internal(); 222 _ServerSocket._internal();
223 223
224 bool _accept(Socket socket) native "ServerSocket_Accept"; 224 bool _accept(Socket socket) native "ServerSocket_Accept";
225 225
226 bool _createBindListen(String bindAddress, int port, int backlog) 226 bool _createBindListen(String bindAddress, int port, int backlog)
227 native "ServerSocket_CreateBindListen"; 227 native "ServerSocket_CreateBindListen";
228 228
229 void set connectionHandler(void callback(Socket connection)) { 229 void set onConnection(void callback(Socket connection)) {
230 _clientConnectionHandler = callback; 230 _clientConnectionHandler = callback;
231 _setHandler(_IN_EVENT, 231 _setHandler(_IN_EVENT,
232 _clientConnectionHandler != null ? _connectionHandler : null); 232 _clientConnectionHandler != null ? _connectionHandler : null);
233 } 233 }
234 234
235 void _connectionHandler() { 235 void _connectionHandler() {
236 if (_id >= 0) { 236 if (_id >= 0) {
237 _Socket socket = new _Socket._internal(); 237 _Socket socket = new _Socket._internal();
238 if (_accept(socket)) _clientConnectionHandler(socket); 238 if (_accept(socket)) _clientConnectionHandler(socket);
239 } 239 }
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 SocketIOException("Error: writeList failed - invalid socket handle"); 352 SocketIOException("Error: writeList failed - invalid socket handle");
353 } 353 }
354 354
355 int _writeList(List<int> buffer, int offset, int bytes) 355 int _writeList(List<int> buffer, int offset, int bytes)
356 native "Socket_WriteList"; 356 native "Socket_WriteList";
357 357
358 void _reportError() { 358 void _reportError() {
359 // For all errors we close the socket, call the error handler and 359 // For all errors we close the socket, call the error handler and
360 // disable further calls of the error handler. 360 // disable further calls of the error handler.
361 close(); 361 close();
362 var errorHandler = _handlerMap[_ERROR_EVENT]; 362 var onError = _handlerMap[_ERROR_EVENT];
363 if (errorHandler != null) { 363 if (onError != null) {
364 errorHandler(); 364 onError();
365 _setHandler(_ERROR_EVENT, null); 365 _setHandler(_ERROR_EVENT, null);
366 } 366 }
367 } 367 }
368 368
369 bool _createConnect(String host, int port) native "Socket_CreateConnect"; 369 bool _createConnect(String host, int port) native "Socket_CreateConnect";
370 370
371 void set writeHandler(void callback()) { 371 void set onWrite(void callback()) {
372 if (_outputStream != null) throw new StreamException( 372 if (_outputStream != null) throw new StreamException(
373 "Cannot set write handler when output stream is used"); 373 "Cannot set write handler when output stream is used");
374 _clientWriteHandler = callback; 374 _clientWriteHandler = callback;
375 _updateOutHandler(); 375 _updateOutHandler();
376 } 376 }
377 377
378 void set connectHandler(void callback()) { 378 void set onConnect(void callback()) {
379 if (_seenFirstOutEvent || _outputStream != null) { 379 if (_seenFirstOutEvent || _outputStream != null) {
380 throw new StreamException( 380 throw new StreamException(
381 "Cannot set connect handler when already connected"); 381 "Cannot set connect handler when already connected");
382 } 382 }
383 if (_outputStream != null) { 383 if (_outputStream != null) {
384 throw new StreamException( 384 throw new StreamException(
385 "Cannot set connect handler when output stream is used"); 385 "Cannot set connect handler when output stream is used");
386 } 386 }
387 _clientConnectHandler = callback; 387 _clientConnectHandler = callback;
388 _updateOutHandler(); 388 _updateOutHandler();
389 } 389 }
390 390
391 void set dataHandler(void callback()) { 391 void set onData(void callback()) {
392 if (_inputStream != null) throw new StreamException( 392 if (_inputStream != null) throw new StreamException(
393 "Cannot set data handler when input stream is used"); 393 "Cannot set data handler when input stream is used");
394 _dataHandler = callback; 394 _onData = callback;
395 } 395 }
396 396
397 void set closeHandler(void callback()) { 397 void set onClosed(void callback()) {
398 if (_inputStream != null) throw new StreamException( 398 if (_inputStream != null) throw new StreamException(
399 "Cannot set close handler when input stream is used"); 399 "Cannot set close handler when input stream is used");
400 _closeHandler = callback; 400 _onClosed = callback;
401 } 401 }
402 402
403 bool _isListenSocket() => false; 403 bool _isListenSocket() => false;
404 404
405 bool _isPipe() => _pipe; 405 bool _isPipe() => _pipe;
406 406
407 InputStream get inputStream() { 407 InputStream get inputStream() {
408 if (_inputStream === null) { 408 if (_inputStream === null) {
409 if (_handlerMap[_IN_EVENT] !== null || 409 if (_handlerMap[_IN_EVENT] !== null ||
410 _handlerMap[_CLOSE_EVENT] !== null) { 410 _handlerMap[_CLOSE_EVENT] !== null) {
411 throw new StreamException( 411 throw new StreamException(
412 "Cannot get input stream when socket handlers are used"); 412 "Cannot get input stream when socket handlers are used");
413 } 413 }
414 _inputStream = new SocketInputStream(this); 414 _inputStream = new SocketInputStream(this);
415 } 415 }
416 return _inputStream; 416 return _inputStream;
417 } 417 }
418 418
419 OutputStream get outputStream() { 419 OutputStream get outputStream() {
420 if (_outputStream === null) { 420 if (_outputStream === null) {
421 if (_handlerMap[_OUT_EVENT] !== null) { 421 if (_handlerMap[_OUT_EVENT] !== null) {
422 throw new StreamException( 422 throw new StreamException(
423 "Cannot get input stream when socket handlers are used"); 423 "Cannot get input stream when socket handlers are used");
424 } 424 }
425 _outputStream = new SocketOutputStream(this); 425 _outputStream = new SocketOutputStream(this);
426 } 426 }
427 return _outputStream; 427 return _outputStream;
428 } 428 }
429 429
430 void set _writeHandler(void callback()) { 430 void set _onWrite(void callback()) {
431 _setHandler(_OUT_EVENT, callback); 431 _setHandler(_OUT_EVENT, callback);
432 } 432 }
433 433
434 void set _dataHandler(void callback()) { 434 void set _onData(void callback()) {
435 _setHandler(_IN_EVENT, callback); 435 _setHandler(_IN_EVENT, callback);
436 } 436 }
437 437
438 void set _closeHandler(void callback()) { 438 void set _onClosed(void callback()) {
439 _setHandler(_CLOSE_EVENT, callback); 439 _setHandler(_CLOSE_EVENT, callback);
440 } 440 }
441 441
442 void _updateOutHandler() { 442 void _updateOutHandler() {
443 void firstWriteHandler() { 443 void firstWriteHandler() {
444 assert(!_seenFirstOutEvent); 444 assert(!_seenFirstOutEvent);
445 _seenFirstOutEvent = true; 445 _seenFirstOutEvent = true;
446 446
447 // From now on the write handler is only the client write 447 // From now on the write handler is only the client write
448 // handler (connect handler cannot be called again). Change this 448 // handler (connect handler cannot be called again). Change this
449 // before calling any handlers as handlers can change the 449 // before calling any handlers as handlers can change the
450 // handlers. 450 // handlers.
451 if (_clientWriteHandler === null) _writeHandler = _clientWriteHandler; 451 if (_clientWriteHandler === null) _onWrite = _clientWriteHandler;
452 452
453 // First out event is socket connected event. 453 // First out event is socket connected event.
454 if (_clientConnectHandler !== null) _clientConnectHandler(); 454 if (_clientConnectHandler !== null) _clientConnectHandler();
455 _clientConnectHandler = null; 455 _clientConnectHandler = null;
456 456
457 // Always (even for the first out event) call the write handler. 457 // Always (even for the first out event) call the write handler.
458 if (_clientWriteHandler !== null) _clientWriteHandler(); 458 if (_clientWriteHandler !== null) _clientWriteHandler();
459 } 459 }
460 460
461 if (_clientConnectHandler === null && _clientWriteHandler === null) { 461 if (_clientConnectHandler === null && _clientWriteHandler === null) {
462 _writeHandler = null; 462 _onWrite = null;
463 } else { 463 } else {
464 if (_seenFirstOutEvent) { 464 if (_seenFirstOutEvent) {
465 _writeHandler = _clientWriteHandler; 465 _onWrite = _clientWriteHandler;
466 } else { 466 } else {
467 _writeHandler = firstWriteHandler; 467 _onWrite = firstWriteHandler;
468 } 468 }
469 } 469 }
470 } 470 }
471 471
472 bool _seenFirstOutEvent = false; 472 bool _seenFirstOutEvent = false;
473 bool _closedRead = false; 473 bool _closedRead = false;
474 bool _closedWrite = false; 474 bool _closedWrite = false;
475 bool _pipe = false; 475 bool _pipe = false;
476 Function _clientConnectHandler; 476 Function _clientConnectHandler;
477 Function _clientWriteHandler; 477 Function _clientWriteHandler;
478 SocketInputStream _inputStream; 478 SocketInputStream _inputStream;
479 SocketOutputStream _outputStream; 479 SocketOutputStream _outputStream;
480 } 480 }
481 481
OLDNEW
« no previous file with comments | « runtime/bin/socket.dart ('k') | runtime/bin/socket_stream_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698