[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 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. | ||||
4 | |||||
5 | #include "base/sync_socket.h" | ||||
6 | |||||
7 | #include <errno.h> | ||||
8 | #include <limits.h> | ||||
9 | #include <stdio.h> | ||||
10 | #include <sys/types.h> | ||||
11 | |||||
12 | #include "base/file_util.h" | ||||
13 | #include "base/logging.h" | ||||
14 | |||||
15 | |||||
16 | namespace base { | ||||
17 | |||||
18 | const SyncSocket::Handle SyncSocket::kInvalidHandle = -1; | ||||
19 | |||||
20 | SyncSocket::SyncSocket() : handle_(kInvalidHandle) { | ||||
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 21 | } |
22 | |||||
23 | SyncSocket::~SyncSocket() { | ||||
24 | } | ||||
25 | |||||
26 | // static | ||||
27 | bool SyncSocket::CreatePair(SyncSocket* socket_a, SyncSocket* socket_b) { | ||||
28 | return false; | ||||
29 | } | ||||
30 | |||||
31 | bool SyncSocket::Close() { | ||||
[email protected] | 5cfa522 | 2012-07-14 14:06:06 | [diff] [blame^] | 32 | if (handle_ != kInvalidHandle) { |
33 | if (close(handle_) < 0) | ||||
34 | DPLOG(ERROR) << "close"; | ||||
35 | handle_ = -1; | ||||
36 | } | ||||
37 | return true; | ||||
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 38 | } |
39 | |||||
40 | size_t SyncSocket::Send(const void* buffer, size_t length) { | ||||
[email protected] | 5cfa522 | 2012-07-14 14:06:06 | [diff] [blame^] | 41 | // Not implemented since it's not needed by any client code yet. |
42 | return -1; | ||||
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 43 | } |
44 | |||||
45 | size_t SyncSocket::Receive(void* buffer, size_t length) { | ||||
[email protected] | 5cfa522 | 2012-07-14 14:06:06 | [diff] [blame^] | 46 | return read(handle_, buffer, length); |
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 47 | } |
48 | |||||
49 | size_t SyncSocket::Peek() { | ||||
[email protected] | 5cfa522 | 2012-07-14 14:06:06 | [diff] [blame^] | 50 | return -1; |
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 51 | } |
52 | |||||
[email protected] | 5cfa522 | 2012-07-14 14:06:06 | [diff] [blame^] | 53 | CancelableSyncSocket::CancelableSyncSocket() { |
54 | } | ||||
55 | |||||
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 56 | CancelableSyncSocket::CancelableSyncSocket(Handle handle) |
57 | : SyncSocket(handle) { | ||||
58 | } | ||||
59 | |||||
[email protected] | 771fc8d | 2012-05-19 01:39:05 | [diff] [blame] | 60 | size_t CancelableSyncSocket::Send(const void* buffer, size_t length) { |
[email protected] | 5cfa522 | 2012-07-14 14:06:06 | [diff] [blame^] | 61 | return -1; |
[email protected] | 771fc8d | 2012-05-19 01:39:05 | [diff] [blame] | 62 | } |
63 | |||||
[email protected] | d0bac29 | 2012-02-29 16:10:45 | [diff] [blame] | 64 | bool CancelableSyncSocket::Shutdown() { |
65 | return false; | ||||
66 | } | ||||
67 | |||||
68 | // static | ||||
69 | bool CancelableSyncSocket::CreatePair(CancelableSyncSocket* socket_a, | ||||
70 | CancelableSyncSocket* socket_b) { | ||||
71 | return SyncSocket::CreatePair(socket_a, socket_b); | ||||
72 | } | ||||
73 | |||||
74 | } // namespace base |