| OLD | NEW |
| 1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
| 2 | 2 |
| 3 #include "v8.h" | 3 #include "v8.h" |
| 4 #include "platform.h" | 4 #include "platform.h" |
| 5 #include "cctest.h" | 5 #include "cctest.h" |
| 6 | 6 |
| 7 | 7 |
| 8 using namespace ::v8::internal; | 8 using namespace ::v8::internal; |
| 9 | 9 |
| 10 | 10 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 CHECK(client_ != NULL); | 56 CHECK(client_ != NULL); |
| 57 | 57 |
| 58 // Read the expected niumber of bytes of data. | 58 // Read the expected niumber of bytes of data. |
| 59 int bytes_read = 0; | 59 int bytes_read = 0; |
| 60 while (bytes_read < data_size_) { | 60 while (bytes_read < data_size_) { |
| 61 bytes_read += client_->Receive(data_ + bytes_read, data_size_ - bytes_read); | 61 bytes_read += client_->Receive(data_ + bytes_read, data_size_ - bytes_read); |
| 62 } | 62 } |
| 63 } | 63 } |
| 64 | 64 |
| 65 | 65 |
| 66 static bool SendAll(Socket* socket, const char* data, int len) { |
| 67 int sent_len = 0; |
| 68 while (sent_len < len) { |
| 69 int status = socket->Send(data, len); |
| 70 if (status <= 0) { |
| 71 return false; |
| 72 } |
| 73 sent_len += status; |
| 74 } |
| 75 return true; |
| 76 } |
| 77 |
| 78 |
| 66 static void SendAndReceive(char *data, int len) { | 79 static void SendAndReceive(char *data, int len) { |
| 67 bool ok; | 80 bool ok; |
| 68 | 81 |
| 69 // Create a socket listener. | 82 // Create a socket listener. |
| 70 SocketListenerThread* listener = new SocketListenerThread(len); | 83 SocketListenerThread* listener = new SocketListenerThread(len); |
| 71 listener->Start(); | 84 listener->Start(); |
| 72 listener->WaitForListening(); | 85 listener->WaitForListening(); |
| 73 | 86 |
| 74 // Connect and write some data. | 87 // Connect and write some data. |
| 75 Socket* client = OS::CreateSocket(); | 88 Socket* client = OS::CreateSocket(); |
| 76 CHECK(client != NULL); | 89 CHECK(client != NULL); |
| 77 ok = client->Connect(kLocalhost, kPort); | 90 ok = client->Connect(kLocalhost, kPort); |
| 78 CHECK(ok); | 91 CHECK(ok); |
| 79 | 92 |
| 80 // Send all the data. | 93 // Send all the data. |
| 81 ok = client->SendAll(data, len); | 94 ok = SendAll(client, data, len); |
| 82 CHECK(ok); | 95 CHECK(ok); |
| 83 | 96 |
| 84 // Wait until data is received. | 97 // Wait until data is received. |
| 85 listener->Join(); | 98 listener->Join(); |
| 86 | 99 |
| 87 // Check that data received is the same as data send. | 100 // Check that data received is the same as data send. |
| 88 for (int i = 0; i < len; i++) { | 101 for (int i = 0; i < len; i++) { |
| 89 CHECK(data[i] == listener->data()[i]); | 102 CHECK(data[i] == listener->data()[i]); |
| 90 } | 103 } |
| 91 | 104 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 } | 138 } |
| 126 | 139 |
| 127 | 140 |
| 128 TEST(HToNNToH) { | 141 TEST(HToNNToH) { |
| 129 uint16_t x = 1234; | 142 uint16_t x = 1234; |
| 130 CHECK_EQ(x, Socket::NToH(Socket::HToN(x))); | 143 CHECK_EQ(x, Socket::NToH(Socket::HToN(x))); |
| 131 | 144 |
| 132 uint32_t y = 12345678; | 145 uint32_t y = 12345678; |
| 133 CHECK(y == Socket::NToH(Socket::HToN(y))); | 146 CHECK(y == Socket::NToH(Socket::HToN(y))); |
| 134 } | 147 } |
| OLD | NEW |