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

Side by Side Diff: runtime/bin/eventhandler_win.h

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 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
« no previous file with comments | « runtime/bin/eventhandler_unsupported.cc ('k') | runtime/bin/eventhandler_win.cc » ('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 #ifndef RUNTIME_BIN_EVENTHANDLER_WIN_H_ 5 #ifndef RUNTIME_BIN_EVENTHANDLER_WIN_H_
6 #define RUNTIME_BIN_EVENTHANDLER_WIN_H_ 6 #define RUNTIME_BIN_EVENTHANDLER_WIN_H_
7 7
8 #if !defined(RUNTIME_BIN_EVENTHANDLER_H_) 8 #if !defined(RUNTIME_BIN_EVENTHANDLER_H_)
9 #error Do not include eventhandler_win.h directly; use eventhandler.h instead. 9 #error Do not include eventhandler_win.h directly; use eventhandler.h instead.
10 #endif 10 #endif
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 void NotifyReadThreadStarted(); 284 void NotifyReadThreadStarted();
285 void WaitForReadThreadFinished(); 285 void WaitForReadThreadFinished();
286 void NotifyReadThreadFinished(); 286 void NotifyReadThreadFinished();
287 287
288 int flags_; 288 int flags_;
289 289
290 friend class ReferenceCounted<Handle>; 290 friend class ReferenceCounted<Handle>;
291 DISALLOW_COPY_AND_ASSIGN(Handle); 291 DISALLOW_COPY_AND_ASSIGN(Handle);
292 }; 292 };
293 293
294
295 class FileHandle : public DescriptorInfoSingleMixin<Handle> { 294 class FileHandle : public DescriptorInfoSingleMixin<Handle> {
296 public: 295 public:
297 explicit FileHandle(HANDLE handle) 296 explicit FileHandle(HANDLE handle)
298 : DescriptorInfoSingleMixin(reinterpret_cast<intptr_t>(handle), true) { 297 : DescriptorInfoSingleMixin(reinterpret_cast<intptr_t>(handle), true) {
299 type_ = kFile; 298 type_ = kFile;
300 } 299 }
301 300
302 virtual void EnsureInitialized(EventHandlerImplementation* event_handler); 301 virtual void EnsureInitialized(EventHandlerImplementation* event_handler);
303 virtual bool IsClosed(); 302 virtual bool IsClosed();
304 303
305 private: 304 private:
306 DISALLOW_COPY_AND_ASSIGN(FileHandle); 305 DISALLOW_COPY_AND_ASSIGN(FileHandle);
307 }; 306 };
308 307
309
310 class StdHandle : public FileHandle { 308 class StdHandle : public FileHandle {
311 public: 309 public:
312 static StdHandle* Stdin(HANDLE handle); 310 static StdHandle* Stdin(HANDLE handle);
313 311
314 virtual void DoClose(); 312 virtual void DoClose();
315 virtual intptr_t Write(const void* buffer, intptr_t num_bytes); 313 virtual intptr_t Write(const void* buffer, intptr_t num_bytes);
316 314
317 void WriteSyncCompleteAsync(); 315 void WriteSyncCompleteAsync();
318 void RunWriteLoop(); 316 void RunWriteLoop();
319 317
(...skipping 17 matching lines...) Expand all
337 335
338 ThreadId thread_id_; 336 ThreadId thread_id_;
339 HANDLE thread_handle_; 337 HANDLE thread_handle_;
340 intptr_t thread_wrote_; 338 intptr_t thread_wrote_;
341 bool write_thread_exists_; 339 bool write_thread_exists_;
342 bool write_thread_running_; 340 bool write_thread_running_;
343 341
344 DISALLOW_COPY_AND_ASSIGN(StdHandle); 342 DISALLOW_COPY_AND_ASSIGN(StdHandle);
345 }; 343 };
346 344
347
348 class DirectoryWatchHandle : public DescriptorInfoSingleMixin<Handle> { 345 class DirectoryWatchHandle : public DescriptorInfoSingleMixin<Handle> {
349 public: 346 public:
350 DirectoryWatchHandle(HANDLE handle, int events, bool recursive) 347 DirectoryWatchHandle(HANDLE handle, int events, bool recursive)
351 : DescriptorInfoSingleMixin(reinterpret_cast<intptr_t>(handle), true), 348 : DescriptorInfoSingleMixin(reinterpret_cast<intptr_t>(handle), true),
352 events_(events), 349 events_(events),
353 recursive_(recursive) { 350 recursive_(recursive) {
354 type_ = kDirectoryWatch; 351 type_ = kDirectoryWatch;
355 } 352 }
356 353
357 virtual void EnsureInitialized(EventHandlerImplementation* event_handler); 354 virtual void EnsureInitialized(EventHandlerImplementation* event_handler);
358 virtual bool IsClosed(); 355 virtual bool IsClosed();
359 356
360 virtual bool IssueRead(); 357 virtual bool IssueRead();
361 358
362 void Stop(); 359 void Stop();
363 360
364 private: 361 private:
365 int events_; 362 int events_;
366 bool recursive_; 363 bool recursive_;
367 364
368 DISALLOW_COPY_AND_ASSIGN(DirectoryWatchHandle); 365 DISALLOW_COPY_AND_ASSIGN(DirectoryWatchHandle);
369 }; 366 };
370 367
371
372 class SocketHandle : public Handle { 368 class SocketHandle : public Handle {
373 public: 369 public:
374 SOCKET socket() const { return socket_; } 370 SOCKET socket() const { return socket_; }
375 371
376 protected: 372 protected:
377 explicit SocketHandle(intptr_t s) : Handle(s), socket_(s) {} 373 explicit SocketHandle(intptr_t s) : Handle(s), socket_(s) {}
378 374
379 virtual void HandleIssueError(); 375 virtual void HandleIssueError();
380 376
381 private: 377 private:
382 const SOCKET socket_; 378 const SOCKET socket_;
383 379
384 DISALLOW_COPY_AND_ASSIGN(SocketHandle); 380 DISALLOW_COPY_AND_ASSIGN(SocketHandle);
385 }; 381 };
386 382
387
388 // Information on listen sockets. 383 // Information on listen sockets.
389 class ListenSocket : public DescriptorInfoMultipleMixin<SocketHandle> { 384 class ListenSocket : public DescriptorInfoMultipleMixin<SocketHandle> {
390 public: 385 public:
391 explicit ListenSocket(intptr_t s) 386 explicit ListenSocket(intptr_t s)
392 : DescriptorInfoMultipleMixin(s, true), 387 : DescriptorInfoMultipleMixin(s, true),
393 AcceptEx_(NULL), 388 AcceptEx_(NULL),
394 pending_accept_count_(0), 389 pending_accept_count_(0),
395 accepted_head_(NULL), 390 accepted_head_(NULL),
396 accepted_tail_(NULL), 391 accepted_tail_(NULL),
397 accepted_count_(0) { 392 accepted_count_(0) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 ClientSocket* accepted_head_; 429 ClientSocket* accepted_head_;
435 ClientSocket* accepted_tail_; 430 ClientSocket* accepted_tail_;
436 431
437 // The number of accepted connections which are waiting to be removed from 432 // The number of accepted connections which are waiting to be removed from
438 // this queue and processed by dart isolates. 433 // this queue and processed by dart isolates.
439 int accepted_count_; 434 int accepted_count_;
440 435
441 DISALLOW_COPY_AND_ASSIGN(ListenSocket); 436 DISALLOW_COPY_AND_ASSIGN(ListenSocket);
442 }; 437 };
443 438
444
445 // Information on connected sockets. 439 // Information on connected sockets.
446 class ClientSocket : public DescriptorInfoSingleMixin<SocketHandle> { 440 class ClientSocket : public DescriptorInfoSingleMixin<SocketHandle> {
447 public: 441 public:
448 explicit ClientSocket(intptr_t s) 442 explicit ClientSocket(intptr_t s)
449 : DescriptorInfoSingleMixin(s, true), 443 : DescriptorInfoSingleMixin(s, true),
450 DisconnectEx_(NULL), 444 DisconnectEx_(NULL),
451 next_(NULL), 445 next_(NULL),
452 connected_(false), 446 connected_(false),
453 closed_(false) { 447 closed_(false) {
454 LoadDisconnectEx(); 448 LoadDisconnectEx();
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 bool connected_; 491 bool connected_;
498 bool closed_; 492 bool closed_;
499 493
500 #if defined(DEBUG) 494 #if defined(DEBUG)
501 static intptr_t disconnecting_; 495 static intptr_t disconnecting_;
502 #endif 496 #endif
503 497
504 DISALLOW_COPY_AND_ASSIGN(ClientSocket); 498 DISALLOW_COPY_AND_ASSIGN(ClientSocket);
505 }; 499 };
506 500
507
508 class DatagramSocket : public DescriptorInfoSingleMixin<SocketHandle> { 501 class DatagramSocket : public DescriptorInfoSingleMixin<SocketHandle> {
509 public: 502 public:
510 explicit DatagramSocket(intptr_t s) : DescriptorInfoSingleMixin(s, true) { 503 explicit DatagramSocket(intptr_t s) : DescriptorInfoSingleMixin(s, true) {
511 type_ = kDatagramSocket; 504 type_ = kDatagramSocket;
512 } 505 }
513 506
514 virtual ~DatagramSocket() { 507 virtual ~DatagramSocket() {
515 // Don't delete this object until all pending requests have been handled. 508 // Don't delete this object until all pending requests have been handled.
516 ASSERT(!HasPendingRead()); 509 ASSERT(!HasPendingRead());
517 ASSERT(!HasPendingWrite()); 510 ASSERT(!HasPendingWrite());
518 } 511 }
519 512
520 // Internal interface used by the event handler. 513 // Internal interface used by the event handler.
521 virtual bool IssueRecvFrom(); 514 virtual bool IssueRecvFrom();
522 virtual bool IssueSendTo(sockaddr* sa, socklen_t sa_len); 515 virtual bool IssueSendTo(sockaddr* sa, socklen_t sa_len);
523 516
524 virtual void EnsureInitialized(EventHandlerImplementation* event_handler); 517 virtual void EnsureInitialized(EventHandlerImplementation* event_handler);
525 virtual void DoClose(); 518 virtual void DoClose();
526 virtual bool IsClosed(); 519 virtual bool IsClosed();
527 520
528 private: 521 private:
529 DISALLOW_COPY_AND_ASSIGN(DatagramSocket); 522 DISALLOW_COPY_AND_ASSIGN(DatagramSocket);
530 }; 523 };
531 524
532
533 // Event handler. 525 // Event handler.
534 class EventHandlerImplementation { 526 class EventHandlerImplementation {
535 public: 527 public:
536 EventHandlerImplementation(); 528 EventHandlerImplementation();
537 virtual ~EventHandlerImplementation(); 529 virtual ~EventHandlerImplementation();
538 530
539 void SendData(intptr_t id, Dart_Port dart_port, int64_t data); 531 void SendData(intptr_t id, Dart_Port dart_port, int64_t data);
540 void Start(EventHandler* handler); 532 void Start(EventHandler* handler);
541 void Shutdown(); 533 void Shutdown();
542 534
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 bool shutdown_; 566 bool shutdown_;
575 HANDLE completion_port_; 567 HANDLE completion_port_;
576 568
577 DISALLOW_COPY_AND_ASSIGN(EventHandlerImplementation); 569 DISALLOW_COPY_AND_ASSIGN(EventHandlerImplementation);
578 }; 570 };
579 571
580 } // namespace bin 572 } // namespace bin
581 } // namespace dart 573 } // namespace dart
582 574
583 #endif // RUNTIME_BIN_EVENTHANDLER_WIN_H_ 575 #endif // RUNTIME_BIN_EVENTHANDLER_WIN_H_
OLDNEW
« no previous file with comments | « runtime/bin/eventhandler_unsupported.cc ('k') | runtime/bin/eventhandler_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698