You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2011/05/06 13:44:52 UTC
svn commit: r1100178 - in /commons/sandbox/runtime/trunk/src/main:
java/org/apache/commons/runtime/net/ native/shared/
test/org/apache/commons/runtime/
Author: mturk
Date: Fri May 6 11:44:51 2011
New Revision: 1100178
URL: http://svn.apache.org/viewvc?rev=1100178&view=rev
Log:
Use proper name for local endpoint address
Added:
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalEndpointAddress.java
- copied, changed from r1100174, commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalSocketAddress.java
Removed:
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalSocketAddress.java
Modified:
commons/sandbox/runtime/trunk/src/main/native/shared/netaddr.c
commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestAddress.java
Copied: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalEndpointAddress.java (from r1100174, commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalSocketAddress.java)
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalEndpointAddress.java?p2=commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalEndpointAddress.java&p1=commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalSocketAddress.java&r1=1100174&r2=1100178&rev=1100178&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalSocketAddress.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/net/LocalEndpointAddress.java Fri May 6 11:44:51 2011
@@ -25,16 +25,18 @@ import org.apache.commons.runtime.Status
import org.apache.commons.runtime.InvalidArgumentException;
/**
- * This class represents a local socket endpoint described by a name.
+ * This class represents a local Endpoint address described by a name.
* <p>
+ * Local endpoint depends on the Operating System and is either
+ * Unix domain socket or a Windows pipe.
* </p>
*/
-public final class LocalSocketAddress extends EndpointAddress
+public final class LocalEndpointAddress extends EndpointAddress
{
private native int sockaddr0(String name);
- private LocalSocketAddress()
+ private LocalEndpointAddress()
{
// No instance
}
@@ -42,7 +44,7 @@ public final class LocalSocketAddress ex
/**
* Create a new local socket adrress.
*/
- public LocalSocketAddress(String name)
+ public LocalEndpointAddress(String name)
throws NetworkException, InvalidArgumentException
{
super(AddressFamily.LOCAL);
@@ -60,7 +62,7 @@ public final class LocalSocketAddress ex
/**
* Create a new local socket adrress.
*/
- public LocalSocketAddress(File path)
+ public LocalEndpointAddress(File path)
throws NetworkException, InvalidArgumentException
{
super(AddressFamily.LOCAL);
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/netaddr.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/netaddr.c?rev=1100178&r1=1100177&r2=1100178&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/netaddr.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/netaddr.c Fri May 6 11:44:51 2011
@@ -777,6 +777,62 @@ AcrSetSockaddr(JNI_STDARGS, acr_sockaddr
return rc;
}
+ACR_NET_EXPORT(jint, LocalEndpointAddress, sockaddr0)(JNI_STDARGS, jstring hostname)
+{
+ acr_sockaddr_t *sa = 0;
+ char *np;
+ int rc = 0;
+
+ WITH_CSTR(hostname) {
+#if HAVE_SYS_UN_H
+ sa = calloc(1, sizeof(acr_sockaddr_t));
+ if (sa == 0)
+ return ACR_ENOMEM;
+ if (*J2S(hostname) != '/') {
+ size_t i = (int)strlcpy(sa->hostname, VAR_RUN_PATH "/", sizeof(sa->hostname));
+ strlcat(sa->hostname, J2S(hostname), sizeof(sa->hostname));
+ np = sa->hostname + i;
+ while (*np != '\0') {
+ if (*np == '/' || *np == ' ')
+ *np = '_';
+ np++;
+ }
+ }
+ else
+ strlcpy(sa->hostname, J2S(hostname), sizeof(sa->hostname));
+ strlcpy(sa->sa.unx.sun_path, sa->hostname, sizeof(sa->sa.unx.sun_path));
+ sa->sa.unx.sun_family = AF_LOCAL;
+ sa->family = AF_LOCAL;
+ sa->salen = ISIZEOF(struct sockaddr_un);
+ sa->addrlen = ISIZEOF(sa->sa.unx.sun_path);
+ sa->ipaddr = &(sa->sa.unx.sun_path);
+ sa->iplen = sa->addrlen;
+#elif defined(WINDOWS)
+ sa = calloc(1, sizeof(acr_sockaddr_t));
+ if (sa == 0)
+ return ACR_ENOMEM;
+ strlcpy(sa->hostname, "\\\\.\\pipe\\", sizeof(sa->hostname));
+ strlcat(sa->hostname, J2S(hostname), sizeof(sa->hostname));
+ np = sa->hostname + 9;
+ while (*np != '\0') {
+ if (*np == '/' || *np == '\\'|| *np == ' ')
+ *np = '_';
+ np++;
+ }
+ sa->family = AF_LOCAL;
+ sa->addrlen = ISIZEOF(sa->hostname);
+ sa->ipaddr = &(sa->hostname);
+ sa->iplen = sa->addrlen;
+#else
+ sa = 0;
+ rc = ACR_ENOTIMPL;
+#endif
+ } DONE_WITH_STR(hostname);
+
+ if (rc == 0)
+ rc = AcrSetSockaddr(env, obj, sa);
+ return rc;
+}
ACR_NET_EXPORT(jstring, SocketAddress, hostname0)(JNI_STDARGS)
{
@@ -913,60 +969,3 @@ ACR_NET_EXPORT(jint, SocketAddress, next
sa->next = 0;
return rc;
}
-
-ACR_NET_EXPORT(jint, LocalSocketAddress, sockaddr0)(JNI_STDARGS, jstring hostname)
-{
- acr_sockaddr_t *sa = 0;
- char *np;
- int rc = 0;
-
- WITH_CSTR(hostname) {
-#if HAVE_SYS_UN_H
- sa = calloc(1, sizeof(acr_sockaddr_t));
- if (sa == 0)
- return ACR_ENOMEM;
- if (*J2S(hostname) != '/') {
- size_t i = (int)strlcpy(sa->hostname, VAR_RUN_PATH "/", sizeof(sa->hostname));
- strlcat(sa->hostname, J2S(hostname), sizeof(sa->hostname));
- np = sa->hostname + i;
- while (*np != '\0') {
- if (*np == '/' || *np == ' ')
- *np = '_';
- np++;
- }
- }
- else
- strlcpy(sa->hostname, J2S(hostname), sizeof(sa->hostname));
- strlcpy(sa->sa.unx.sun_path, sa->hostname, sizeof(sa->sa.unx.sun_path));
- sa->sa.unx.sun_family = AF_LOCAL;
- sa->family = AF_LOCAL;
- sa->salen = ISIZEOF(struct sockaddr_un);
- sa->addrlen = ISIZEOF(sa->sa.unx.sun_path);
- sa->ipaddr = &(sa->sa.unx.sun_path);
- sa->iplen = sa->addrlen;
-#elif defined(WINDOWS)
- sa = calloc(1, sizeof(acr_sockaddr_t));
- if (sa == 0)
- return ACR_ENOMEM;
- strlcpy(sa->hostname, "\\\\.\\pipe\\", sizeof(sa->hostname));
- strlcat(sa->hostname, J2S(hostname), sizeof(sa->hostname));
- np = sa->hostname + 9;
- while (*np != '\0') {
- if (*np == '/' || *np == '\\'|| *np == ' ')
- *np = '_';
- np++;
- }
- sa->family = AF_LOCAL;
- sa->addrlen = ISIZEOF(sa->hostname);
- sa->ipaddr = &(sa->hostname);
- sa->iplen = sa->addrlen;
-#else
- sa = 0;
- rc = ACR_ENOTIMPL;
-#endif
- } DONE_WITH_STR(hostname);
-
- if (rc == 0)
- rc = AcrSetSockaddr(env, obj, sa);
- return rc;
-}
Modified: commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestAddress.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestAddress.java?rev=1100178&r1=1100177&r2=1100178&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestAddress.java (original)
+++ commons/sandbox/runtime/trunk/src/main/test/org/apache/commons/runtime/TestAddress.java Fri May 6 11:44:51 2011
@@ -30,7 +30,7 @@ public class TestAddress extends Assert
public void posixLocalAddress()
throws IOException
{
- LocalSocketAddress la = new LocalSocketAddress("foo/bar");
+ LocalEndpointAddress la = new LocalEndpointAddress("foo/bar");
assertNotNull(la);
assertEquals(la.toString(), "/var/run/foo_bar");
assertEquals(la.getFamily(), AddressFamily.LOCAL);
@@ -42,7 +42,7 @@ public class TestAddress extends Assert
public void windowsLocalAddress()
throws IOException
{
- LocalSocketAddress la = new LocalSocketAddress("foo/bar");
+ LocalEndpointAddress la = new LocalEndpointAddress("foo/bar");
assertNotNull(la);
assertEquals(la.toString(), "\\\\.\\pipe\\foo_bar");
la = null;