diff options
| author | 2019-01-29 03:21:22 -0800 | |
|---|---|---|
| committer | 2019-01-29 03:21:22 -0800 | |
| commit | dfa16fe77242511674edb5e55bdf170f8af3c2eb (patch) | |
| tree | 919478e364db75b9296f37f8249998a4fd64a3ac | |
| parent | ca1d65e707fe5320233d5e7249555a5662526e93 (diff) | |
| parent | 1e002eede3944e4327ccc1e39c3f143e3e8dcee4 (diff) | |
Merge "Add utils connect, setsockopt, bind, sendTo"
am: 1e002eede3
Change-Id: Ida2a99f35affe3cb9213f71ba622ace51c4d6f57
| -rw-r--r-- | api/system-current.txt | 4 | ||||
| -rw-r--r-- | api/test-current.txt | 4 | ||||
| -rw-r--r-- | core/java/android/net/util/SocketUtils.java | 33 |
3 files changed, 41 insertions, 0 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index ec1c46c34429..e0801b7acbe1 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3476,11 +3476,15 @@ package android.net.util { method public static void attachControlPacketFilter(java.io.FileDescriptor, int) throws java.net.SocketException; method public static void attachDhcpFilter(java.io.FileDescriptor) throws java.net.SocketException; method public static void attachRaFilter(java.io.FileDescriptor, int) throws java.net.SocketException; + method public static void bindSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; method public static void bindSocketToInterface(java.io.FileDescriptor, String) throws android.system.ErrnoException; method public static void closeSocket(java.io.FileDescriptor) throws java.io.IOException; + method public static void connectSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; method public static java.net.SocketAddress makeNetlinkSocketAddress(int, int); method public static java.net.SocketAddress makePacketSocketAddress(short, int); method public static java.net.SocketAddress makePacketSocketAddress(int, byte[]); + method public static void sendTo(java.io.FileDescriptor, byte[], int, int, int, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static void setSocketTimeValueOption(java.io.FileDescriptor, int, int, long) throws android.system.ErrnoException; } } diff --git a/api/test-current.txt b/api/test-current.txt index c5a2a52aeaba..af455fb4abb6 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -912,11 +912,15 @@ package android.net.util { method public static void attachControlPacketFilter(java.io.FileDescriptor, int) throws java.net.SocketException; method public static void attachDhcpFilter(java.io.FileDescriptor) throws java.net.SocketException; method public static void attachRaFilter(java.io.FileDescriptor, int) throws java.net.SocketException; + method public static void bindSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; method public static void bindSocketToInterface(java.io.FileDescriptor, String) throws android.system.ErrnoException; method public static void closeSocket(java.io.FileDescriptor) throws java.io.IOException; + method public static void connectSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; method public static java.net.SocketAddress makeNetlinkSocketAddress(int, int); method public static java.net.SocketAddress makePacketSocketAddress(short, int); method public static java.net.SocketAddress makePacketSocketAddress(int, byte[]); + method public static void sendTo(java.io.FileDescriptor, byte[], int, int, int, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException; + method public static void setSocketTimeValueOption(java.io.FileDescriptor, int, int, long) throws android.system.ErrnoException; } } diff --git a/core/java/android/net/util/SocketUtils.java b/core/java/android/net/util/SocketUtils.java index 2652a7f2193f..fbb15ed693d9 100644 --- a/core/java/android/net/util/SocketUtils.java +++ b/core/java/android/net/util/SocketUtils.java @@ -27,6 +27,7 @@ import android.system.ErrnoException; import android.system.NetlinkSocketAddress; import android.system.Os; import android.system.PacketSocketAddress; +import android.system.StructTimeval; import libcore.io.IoBridge; @@ -79,6 +80,38 @@ public class SocketUtils { } /** + * Set an option on a socket that takes a time value argument. + */ + public static void setSocketTimeValueOption( + FileDescriptor fd, int level, int option, long millis) throws ErrnoException { + Os.setsockoptTimeval(fd, level, option, StructTimeval.fromMillis(millis)); + } + + /** + * Bind a socket to the specified address. + */ + public static void bindSocket(FileDescriptor fd, SocketAddress addr) + throws ErrnoException, SocketException { + Os.bind(fd, addr); + } + + /** + * Connect a socket to the specified address. + */ + public static void connectSocket(FileDescriptor fd, SocketAddress addr) + throws ErrnoException, SocketException { + Os.connect(fd, addr); + } + + /** + * Send a message on a socket, using the specified SocketAddress. + */ + public static void sendTo(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount, + int flags, SocketAddress addr) throws ErrnoException, SocketException { + Os.sendto(fd, bytes, byteOffset, byteCount, flags, addr); + } + + /** * @see IoBridge#closeAndSignalBlockedThreads(FileDescriptor) */ public static void closeSocket(FileDescriptor fd) throws IOException { |