Update V8 to version 3.28.7 (based on bleeding_edge revision r22083).
[chromium-blink-merge.git] / base / sync_socket_nacl.cc
blobf6d17e7ffb61dc20468bbd4e987c927171273f11
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/sync_socket.h"
7 #include <errno.h>
8 #include <limits.h>
9 #include <stdio.h>
10 #include <sys/types.h>
12 #include "base/logging.h"
14 namespace base {
16 const SyncSocket::Handle SyncSocket::kInvalidHandle = -1;
18 SyncSocket::SyncSocket() : handle_(kInvalidHandle) {
21 SyncSocket::~SyncSocket() {
22 Close();
25 // static
26 bool SyncSocket::CreatePair(SyncSocket* socket_a, SyncSocket* socket_b) {
27 return false;
30 bool SyncSocket::Close() {
31 if (handle_ != kInvalidHandle) {
32 if (close(handle_) < 0)
33 DPLOG(ERROR) << "close";
34 handle_ = kInvalidHandle;
36 return true;
39 size_t SyncSocket::Send(const void* buffer, size_t length) {
40 const ssize_t bytes_written = write(handle_, buffer, length);
41 return bytes_written > 0 ? bytes_written : 0;
44 size_t SyncSocket::Receive(void* buffer, size_t length) {
45 const ssize_t bytes_read = read(handle_, buffer, length);
46 return bytes_read > 0 ? bytes_read : 0;
49 size_t SyncSocket::ReceiveWithTimeout(void* buffer, size_t length, TimeDelta) {
50 NOTIMPLEMENTED();
51 return 0;
54 size_t SyncSocket::Peek() {
55 NOTIMPLEMENTED();
56 return 0;
59 CancelableSyncSocket::CancelableSyncSocket() {
62 CancelableSyncSocket::CancelableSyncSocket(Handle handle)
63 : SyncSocket(handle) {
66 size_t CancelableSyncSocket::Send(const void* buffer, size_t length) {
67 return SyncSocket::Send(buffer, length);
70 bool CancelableSyncSocket::Shutdown() {
71 return SyncSocket::Close();
74 // static
75 bool CancelableSyncSocket::CreatePair(CancelableSyncSocket* socket_a,
76 CancelableSyncSocket* socket_b) {
77 return SyncSocket::CreatePair(socket_a, socket_b);
80 } // namespace base