dbbdbe11a6
Motivation: transport-native-epoll is designed to be specific to Linux. However there is native code that can be extracted out and made to work on more Unix like distributions. There are a few steps to be completely decoupled but the first step is to extract out code that can run in a more general Unix environment from the Linux specific code base. Modifications: - Move all non-Linux specific stuff from Native.java into the io.netty.channel.unix package. - io.netty.channel.unix.FileDescriptor will inherit all the native methods that are specific to file descriptors. - io_netty_channel_epoll_Native.[c|h] will only have code that is specific to Linux. Result: Code is decoupled and design is streamlined in FileDescriptor.
52 lines
1.8 KiB
Java
52 lines
1.8 KiB
Java
/*
|
|
* Copyright 2014 The Netty Project
|
|
*
|
|
* The Netty Project 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.
|
|
*/
|
|
package io.netty.channel.epoll;
|
|
|
|
import io.netty.util.NetUtil;
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
import java.net.Inet6Address;
|
|
import java.net.InetSocketAddress;
|
|
import java.nio.ByteBuffer;
|
|
|
|
import static io.netty.channel.unix.NativeInetAddress.address;
|
|
|
|
public class NativeTest {
|
|
|
|
@Test
|
|
public void testAddressIpv4() throws Exception {
|
|
InetSocketAddress inetAddress = new InetSocketAddress(NetUtil.LOCALHOST4, 9999);
|
|
byte[] bytes = new byte[8];
|
|
ByteBuffer buffer = ByteBuffer.wrap(bytes);
|
|
buffer.put(inetAddress.getAddress().getAddress());
|
|
buffer.putInt(inetAddress.getPort());
|
|
Assert.assertEquals(inetAddress, address(buffer.array(), 0, bytes.length));
|
|
}
|
|
|
|
@Test
|
|
public void testAddressIpv6() throws Exception {
|
|
Inet6Address address = NetUtil.LOCALHOST6;
|
|
InetSocketAddress inetAddress = new InetSocketAddress(address, 9999);
|
|
byte[] bytes = new byte[24];
|
|
ByteBuffer buffer = ByteBuffer.wrap(bytes);
|
|
buffer.put(address.getAddress());
|
|
buffer.putInt(address.getScopeId());
|
|
buffer.putInt(inetAddress.getPort());
|
|
Assert.assertEquals(inetAddress, address(buffer.array(), 0, bytes.length));
|
|
}
|
|
}
|