1dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes/* 2dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * contributor license agreements. See the NOTICE file distributed with 4dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * this work for additional information regarding copyright ownership. 5dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * (the "License"); you may not use this file except in compliance with 7dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * the License. You may obtain a copy of the License at 8dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * 9dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * 11dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * Unless required by applicable law or agreed to in writing, software 12dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * See the License for the specific language governing permissions and 15dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes * limitations under the License. 16dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes */ 17dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 18e5fea3d504609d22337a5311d3ce0e72314bceeeNarayan Kamathpackage org.apache.harmony.tests.java.nio.channels; 19dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 20dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.io.IOException; 21dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.net.Socket; 22dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.net.SocketAddress; 233d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebskiimport java.net.SocketOption; 24dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.ByteBuffer; 253d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebskiimport java.nio.channels.ServerSocketChannel; 26dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.channels.SocketChannel; 27dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesimport java.nio.channels.spi.SelectorProvider; 283d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebskiimport java.util.Set; 29dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 30dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughesclass MockSocketChannel extends SocketChannel { 31dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 32dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected MockSocketChannel(SelectorProvider arg0) { 33dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes super(arg0); 34dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 35dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 36933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 37dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public Socket socket() { 38dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return null; 39dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 40dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 41933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 42dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public boolean isConnected() { 43dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return false; 44dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 45dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 46933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 47dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public boolean isConnectionPending() { 48dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return false; 49dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 50dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 51933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 52dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public boolean connect(SocketAddress arg0) throws IOException { 53dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return false; 54dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 55dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 56933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 57dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public boolean finishConnect() throws IOException { 58dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return false; 59dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 60dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 61933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 62dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public int read(ByteBuffer arg0) throws IOException { 63dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return 0; 64dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 65dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 66933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 67dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public long read(ByteBuffer[] arg0, int arg1, int arg2) throws IOException { 68dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return 0; 69dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 70dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 71933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 72dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public int write(ByteBuffer arg0) throws IOException { 73dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return 0; 74dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 75dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 76933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 77dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes public long write(ByteBuffer[] arg0, int arg1, int arg2) throws IOException { 78dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes return 0; 79dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 80dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 81933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 82dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected void implCloseSelectableChannel() throws IOException { 83dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 84dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 85933fbbf606268eec9fc430632b8bca7002a833b3Neil Fuller @Override 86dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes protected void implConfigureBlocking(boolean arg0) throws IOException { 87dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes } 88dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes 893d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 903d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public SocketAddress getRemoteAddress() throws IOException { 913d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 923d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 933d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 943d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 953d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public SocketChannel shutdownOutput() throws IOException { 963d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 973d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 983d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 993d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 1003d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public SocketChannel shutdownInput() throws IOException { 1013d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 1023d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 1033d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 1043d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 1053d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public <T> SocketChannel setOption(SocketOption<T> name, T value) 1063d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski throws IOException { 1073d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 1083d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 1093d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 1103d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 1113d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public SocketChannel bind(SocketAddress local) throws IOException { 1123d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 1133d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 1143d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 1153d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 1163d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public Set<SocketOption<?>> supportedOptions() { 1173d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 1183d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 1193d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 1203d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 1213d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public <T> T getOption(SocketOption<T> name) throws IOException { 1223d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 1233d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 1243d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 1253d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski @Override 1263d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski public SocketAddress getLocalAddress() throws IOException { 1273d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski return null; 1283d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski } 1293d43823e17818b3c5f45831f830884917b181454Piotr Jastrzebski 130dce2b2fa9d6b26414a8d5a55918e4d7ca2ab1baaElliott Hughes} 131