Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(369)

Unified Diff: c/address.c

Issue 2842333002: Updated netty-tcnative to version 2.0.0.Final (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | c/bb.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: c/address.c
diff --git a/c/address.c b/c/address.c
deleted file mode 100644
index 7fa5a7d19915d74d83462939bd012d1e8cf893b0..0000000000000000000000000000000000000000
--- a/c/address.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- *
- * @author Mladen Turk
- * @version $Id: address.c 1442587 2013-02-05 13:49:48Z rjung $
- */
-
-#include "tcn.h"
-
-TCN_IMPLEMENT_CALL(jlong, Address, info)(TCN_STDARGS,
- jstring hostname,
- jint family, jint port,
- jint flags, jlong pool)
-{
- apr_pool_t *p = J2P(pool, apr_pool_t *);
- TCN_ALLOC_CSTRING(hostname);
- char *sp = NULL;
- int scope_id = 0;
- apr_sockaddr_t *sa = NULL;
- apr_sockaddr_t *sl = NULL;
- apr_int32_t f;
-
-
- UNREFERENCED(o);
- GET_S_FAMILY(f, family);
-#if APR_HAVE_IPV6
- if (hostname) {
- /* XXX: This only works for real scope_id's
- */
- if ((sp = strchr(J2S(hostname), '%'))) {
- *sp++ = '\0';
- scope_id = atoi(sp);
- }
- }
-#endif
- TCN_THROW_IF_ERR(apr_sockaddr_info_get(&sa,
- J2S(hostname), f, (apr_port_t)port,
- (apr_int32_t)flags, p), sa);
- sl = sa;
- /*
- * apr_sockaddr_info_get may return several address so this is not
- * go to work in some cases (but as least it works for Linux)
- * XXX: with AP_ENABLE_V4_MAPPED it is going to work otherwise it won't.
- */
-#if APR_HAVE_IPV6
- if (hostname == NULL) {
- /* Try all address using IPV6 one */
- while (sl) {
- if (sl->family == APR_INET6)
- break; /* Done */
- sl = sl->next;
- }
- /* If we don't find an IPv6 address, use the original one */
- if (sl == NULL) {
- sl = sa;
- }
- }
- if (sp) {
- /* Set the provided scope id
- * APR lack the api for setting this directly so lets presume
- * the sin6_scope_id is present everywhere
- */
- sl->sa.sin6.sin6_scope_id = scope_id;
- }
-#endif
-
-cleanup:
- TCN_FREE_CSTRING(hostname);
- return P2J(sl);
-}
-
-TCN_IMPLEMENT_CALL(jstring, Address, getnameinfo)(TCN_STDARGS,
- jlong sa, jint flags)
-{
- apr_sockaddr_t *s = J2P(sa, apr_sockaddr_t *);
- char *hostname;
-
- UNREFERENCED(o);
- if (apr_getnameinfo(&hostname, s, (apr_int32_t)flags) == APR_SUCCESS)
- return AJP_TO_JSTRING(hostname);
- else
- return NULL;
-}
-
-TCN_IMPLEMENT_CALL(jstring, Address, getip)(TCN_STDARGS, jlong sa)
-{
- apr_sockaddr_t *s = J2P(sa, apr_sockaddr_t *);
- char *ipaddr;
-
- UNREFERENCED(o);
- if (apr_sockaddr_ip_get(&ipaddr, s) == APR_SUCCESS)
- return AJP_TO_JSTRING(ipaddr);
- else
- return NULL;
-}
-
-TCN_IMPLEMENT_CALL(jlong, Address, get)(TCN_STDARGS, jint which,
- jlong sock)
-{
- tcn_socket_t *s = J2P(sock, tcn_socket_t *);
- apr_sockaddr_t *sa = NULL;
-
- UNREFERENCED(o);
- TCN_THROW_IF_ERR(apr_socket_addr_get(&sa,
- (apr_interface_e)which, s->sock), sa);
-cleanup:
- return P2J(sa);
-}
-
-TCN_IMPLEMENT_CALL(jboolean, Address, equal)(TCN_STDARGS,
- jlong a, jlong b)
-{
- apr_sockaddr_t *sa = J2P(a, apr_sockaddr_t *);
- apr_sockaddr_t *sb = J2P(b, apr_sockaddr_t *);
-
- UNREFERENCED_STDARGS;
- return apr_sockaddr_equal(sa, sb) ? JNI_TRUE : JNI_FALSE;
-}
-
-TCN_IMPLEMENT_CALL(jint, Address, getservbyname)(TCN_STDARGS,
- jlong sa, jstring servname)
-{
- apr_sockaddr_t *s = J2P(sa, apr_sockaddr_t *);
- TCN_ALLOC_CSTRING(servname);
- apr_status_t rv;
-
- UNREFERENCED(o);
- rv = apr_getservbyname(s, J2S(servname));
- TCN_FREE_CSTRING(servname);
- return (jint)rv;
-}
« no previous file with comments | « no previous file | c/bb.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698