| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 592 // | 592 // |
| 593 | 593 |
| 594 class MacOSSocket : public Socket { | 594 class MacOSSocket : public Socket { |
| 595 public: | 595 public: |
| 596 explicit MacOSSocket() { | 596 explicit MacOSSocket() { |
| 597 // Create the socket. | 597 // Create the socket. |
| 598 socket_ = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); | 598 socket_ = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); |
| 599 } | 599 } |
| 600 explicit MacOSSocket(int socket): socket_(socket) { } | 600 explicit MacOSSocket(int socket): socket_(socket) { } |
| 601 | 601 |
| 602 | 602 virtual ~MacOSSocket() { Close(); } |
| 603 virtual ~MacOSSocket() { | |
| 604 if (IsValid()) { | |
| 605 // Close socket. | |
| 606 close(socket_); | |
| 607 } | |
| 608 } | |
| 609 | 603 |
| 610 // Server initialization. | 604 // Server initialization. |
| 611 bool Bind(const int port); | 605 bool Bind(const int port); |
| 612 bool Listen(int backlog) const; | 606 bool Listen(int backlog) const; |
| 613 Socket* Accept() const; | 607 Socket* Accept() const; |
| 614 | 608 |
| 615 // Client initialization. | 609 // Client initialization. |
| 616 bool Connect(const char* host, const char* port); | 610 bool Connect(const char* host, const char* port); |
| 617 | 611 |
| 612 // Close. |
| 613 bool Close(); |
| 614 |
| 618 // Data Transimission | 615 // Data Transimission |
| 619 int Send(const char* data, int len) const; | 616 int Send(const char* data, int len) const; |
| 620 int Receive(char* data, int len) const; | 617 int Receive(char* data, int len) const; |
| 621 | 618 |
| 622 bool IsValid() const { return socket_ != -1; } | 619 bool IsValid() const { return socket_ != -1; } |
| 623 | 620 |
| 624 private: | 621 private: |
| 625 int socket_; | 622 int socket_; |
| 626 }; | 623 }; |
| 627 | 624 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 if (status != 0) { | 686 if (status != 0) { |
| 690 return false; | 687 return false; |
| 691 } | 688 } |
| 692 | 689 |
| 693 // Connect. | 690 // Connect. |
| 694 status = connect(socket_, result->ai_addr, result->ai_addrlen); | 691 status = connect(socket_, result->ai_addr, result->ai_addrlen); |
| 695 return status == 0; | 692 return status == 0; |
| 696 } | 693 } |
| 697 | 694 |
| 698 | 695 |
| 696 bool MacOSSocket::Close() { |
| 697 if (IsValid()) { |
| 698 // Close socket. |
| 699 int status = close(socket_); |
| 700 socket_ = -1; |
| 701 return status == 0; |
| 702 } |
| 703 return true; |
| 704 } |
| 705 |
| 706 |
| 699 int MacOSSocket::Send(const char* data, int len) const { | 707 int MacOSSocket::Send(const char* data, int len) const { |
| 700 int status = send(socket_, data, len, 0); | 708 int status = send(socket_, data, len, 0); |
| 701 return status; | 709 return status; |
| 702 } | 710 } |
| 703 | 711 |
| 704 | 712 |
| 705 int MacOSSocket::Receive(char* data, int len) const { | 713 int MacOSSocket::Receive(char* data, int len) const { |
| 706 int status = recv(socket_, data, len, 0); | 714 int status = recv(socket_, data, len, 0); |
| 707 return status; | 715 return status; |
| 708 } | 716 } |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 } | 845 } |
| 838 | 846 |
| 839 // This sampler is no longer the active sampler. | 847 // This sampler is no longer the active sampler. |
| 840 active_sampler_ = NULL; | 848 active_sampler_ = NULL; |
| 841 active_ = false; | 849 active_ = false; |
| 842 } | 850 } |
| 843 | 851 |
| 844 #endif // ENABLE_LOGGING_AND_PROFILING | 852 #endif // ENABLE_LOGGING_AND_PROFILING |
| 845 | 853 |
| 846 } } // namespace v8::internal | 854 } } // namespace v8::internal |
| OLD | NEW |