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