summaryrefslogtreecommitdiff
path: root/core/java/android/net/LocalSocket.java
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2013-11-22 11:18:57 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2013-11-22 11:18:57 -0800
commitdbccd44a638ae8705a5b14bff8b2dd74abc26045 (patch)
tree14bfabaf3f3c7be86dfc064e919e00433a0cf2bb /core/java/android/net/LocalSocket.java
parentecfae4f899873f224e1aeed076dc8a41f8884487 (diff)
parentb873a17ce7be0a9771c24999adca6964431728f6 (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.java30
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;
}