580 lines · 19.5 KB · Java
RawDownload
    public final SocketAddress getRemoteAddress() throws IOException {        if (!isOpen())            throw new ClosedChannelException();        return remoteAddress;    }     @Override    public final AsynchronousSocketChannel shutdownInput() throws IOException {        try {            begin();            if (remoteAddress == null)                throw new NotYetConnectedException();            synchronized (readLock) {                if (!readShutdown) {                    Net.shutdown(fd, Net.SHUT_RD);                    readShutdown = true;                }            }        } finally {            end();        }        return this;    }     @Override    public final AsynchronousSocketChannel shutdownOutput() throws IOException {        try {            begin();            if (remoteAddress == null)                throw new NotYetConnectedException();            synchronized (writeLock) {                if (!writeShutdown) {                    Net.shutdown(fd, Net.SHUT_WR);                    writeShutdown = true;                }            }        } finally {            end();        }        return this;    }     @Override    public final String toString() {        StringBuilder sb = new StringBuilder();        sb.append(this.getClass().getName());        sb.append('[');        synchronized (stateLock) {            if (!isOpen()) {                sb.append("closed");            } else {                switch (state) {                case ST_UNCONNECTED:                    sb.append("unconnected");                    break;                case ST_PENDING:                    sb.append("connection-pending");                    break;                case ST_CONNECTED:                    sb.append("connected");                    if (readShutdown)                        sb.append(" ishut");                    if (writeShutdown)                        sb.append(" oshut");                    break;                }                if (localAddress != null) {                    sb.append(" local=");                    sb.append(localAddress.toString());                }                if (remoteAddress != null) {                    sb.append(" remote=");                    sb.append(remoteAddress.toString());                }            }        }        sb.append(']');        return sb.toString();    }}

Lines 501–580 of 580. Previous lines