diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2013-11-22 11:18:57 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2013-11-22 11:18:57 -0800 |
| commit | dbccd44a638ae8705a5b14bff8b2dd74abc26045 (patch) | |
| tree | 14bfabaf3f3c7be86dfc064e919e00433a0cf2bb /core/java/android/net/LocalSocket.java | |
| parent | ecfae4f899873f224e1aeed076dc8a41f8884487 (diff) | |
| parent | b873a17ce7be0a9771c24999adca6964431728f6 (diff) | |
Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
Diffstat (limited to 'core/java/android/net/LocalSocket.java')
| -rw-r--r-- | core/java/android/net/LocalSocket.java | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/core/java/android/net/LocalSocket.java b/core/java/android/net/LocalSocket.java index 14a80948b797..31bc20b03501 100644 --- a/core/java/android/net/LocalSocket.java +++ b/core/java/android/net/LocalSocket.java @@ -34,21 +34,42 @@ public class LocalSocket implements Closeable { private LocalSocketAddress localAddress; private boolean isBound; private boolean isConnected; + private final int sockType; + + /** unknown socket type (used for constructor with existing file descriptor) */ + /* package */ static final int SOCKET_UNKNOWN = 0; + /** Datagram socket type */ + public static final int SOCKET_DGRAM = 1; + /** Stream socket type */ + public static final int SOCKET_STREAM = 2; + /** Sequential packet socket type */ + public static final int SOCKET_SEQPACKET = 3; /** * Creates a AF_LOCAL/UNIX domain stream socket. */ public LocalSocket() { - this(new LocalSocketImpl()); + this(SOCKET_STREAM); + } + + /** + * Creates a AF_LOCAL/UNIX domain stream socket with given socket type + * + * @param sockType either {@link #SOCKET_DGRAM}, {@link #SOCKET_STREAM} + * or {@link #SOCKET_SEQPACKET} + */ + public LocalSocket(int sockType) { + this(new LocalSocketImpl(), sockType); isBound = false; isConnected = false; } + /** * Creates a AF_LOCAL/UNIX domain stream socket with FileDescriptor. * @hide */ public LocalSocket(FileDescriptor fd) throws IOException { - this(new LocalSocketImpl(fd)); + this(new LocalSocketImpl(fd), SOCKET_UNKNOWN); isBound = true; isConnected = true; } @@ -57,8 +78,9 @@ public class LocalSocket implements Closeable { * for use with AndroidServerSocket * @param impl a SocketImpl */ - /*package*/ LocalSocket(LocalSocketImpl impl) { + /*package*/ LocalSocket(LocalSocketImpl impl, int sockType) { this.impl = impl; + this.sockType = sockType; this.isConnected = false; this.isBound = false; } @@ -81,7 +103,7 @@ public class LocalSocket implements Closeable { synchronized (this) { if (!implCreated) { try { - impl.create(true); + impl.create(sockType); } finally { implCreated = true; } |
