diff options
Diffstat (limited to 'mobile/android/thirdparty/ch/boye/httpclientandroidlib/config/SocketConfig.java')
-rw-r--r-- | mobile/android/thirdparty/ch/boye/httpclientandroidlib/config/SocketConfig.java | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/config/SocketConfig.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/config/SocketConfig.java deleted file mode 100644 index 515dac1b1..000000000 --- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/config/SocketConfig.java +++ /dev/null @@ -1,197 +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. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - */ - -package ch.boye.httpclientandroidlib.config; - -import ch.boye.httpclientandroidlib.annotation.Immutable; -import ch.boye.httpclientandroidlib.util.Args; - -/** - * Socket configuration. - * - * @since 4.3 - */ -@Immutable -public class SocketConfig implements Cloneable { - - public static final SocketConfig DEFAULT = new Builder().build(); - - private final int soTimeout; - private final boolean soReuseAddress; - private final int soLinger; - private final boolean soKeepAlive; - private final boolean tcpNoDelay; - - SocketConfig( - final int soTimeout, - final boolean soReuseAddress, - final int soLinger, - final boolean soKeepAlive, - final boolean tcpNoDelay) { - super(); - this.soTimeout = soTimeout; - this.soReuseAddress = soReuseAddress; - this.soLinger = soLinger; - this.soKeepAlive = soKeepAlive; - this.tcpNoDelay = tcpNoDelay; - } - - /** - * Determines the default socket timeout value for non-blocking I/O operations. - * <p/> - * Default: <code>0</code> (no timeout) - * - * @see java.net.SocketOptions#SO_TIMEOUT - */ - public int getSoTimeout() { - return soTimeout; - } - - /** - * Determines the default value of the {@link java.net.SocketOptions#SO_REUSEADDR} parameter - * for newly created sockets. - * <p/> - * Default: <code>false</code> - * - * @see java.net.SocketOptions#SO_REUSEADDR - */ - public boolean isSoReuseAddress() { - return soReuseAddress; - } - - /** - * Determines the default value of the {@link java.net.SocketOptions#SO_LINGER} parameter - * for newly created sockets. - * <p/> - * Default: <code>-1</code> - * - * @see java.net.SocketOptions#SO_LINGER - */ - public int getSoLinger() { - return soLinger; - } - - /** - * Determines the default value of the {@link java.net.SocketOptions#SO_KEEPALIVE} parameter - * for newly created sockets. - * <p/> - * Default: <code>-1</code> - * - * @see java.net.SocketOptions#SO_KEEPALIVE - */ - public boolean isSoKeepAlive() { - return this.soKeepAlive; - } - - /** - * Determines the default value of the {@link java.net.SocketOptions#TCP_NODELAY} parameter - * for newly created sockets. - * <p/> - * Default: <code>false</code> - * - * @see java.net.SocketOptions#TCP_NODELAY - */ - public boolean isTcpNoDelay() { - return tcpNoDelay; - } - - @Override - protected SocketConfig clone() throws CloneNotSupportedException { - return (SocketConfig) super.clone(); - } - - @Override - public String toString() { - final StringBuilder builder = new StringBuilder(); - builder.append("[soTimeout=").append(this.soTimeout) - .append(", soReuseAddress=").append(this.soReuseAddress) - .append(", soLinger=").append(this.soLinger) - .append(", soKeepAlive=").append(this.soKeepAlive) - .append(", tcpNoDelay=").append(this.tcpNoDelay) - .append("]"); - return builder.toString(); - } - - public static SocketConfig.Builder custom() { - return new Builder(); - } - - public static SocketConfig.Builder copy(final SocketConfig config) { - Args.notNull(config, "Socket config"); - return new Builder() - .setSoTimeout(config.getSoTimeout()) - .setSoReuseAddress(config.isSoReuseAddress()) - .setSoLinger(config.getSoLinger()) - .setSoKeepAlive(config.isSoKeepAlive()) - .setTcpNoDelay(config.isTcpNoDelay()); - } - - public static class Builder { - - private int soTimeout; - private boolean soReuseAddress; - private int soLinger; - private boolean soKeepAlive; - private boolean tcpNoDelay; - - Builder() { - this.soLinger = -1; - this.tcpNoDelay = true; - } - - public Builder setSoTimeout(final int soTimeout) { - this.soTimeout = soTimeout; - return this; - } - - public Builder setSoReuseAddress(final boolean soReuseAddress) { - this.soReuseAddress = soReuseAddress; - return this; - } - - public Builder setSoLinger(final int soLinger) { - this.soLinger = soLinger; - return this; - } - - public Builder setSoKeepAlive(final boolean soKeepAlive) { - this.soKeepAlive = soKeepAlive; - return this; - } - - public Builder setTcpNoDelay(final boolean tcpNoDelay) { - this.tcpNoDelay = tcpNoDelay; - return this; - } - - public SocketConfig build() { - return new SocketConfig(soTimeout, soReuseAddress, soLinger, soKeepAlive, tcpNoDelay); - } - - } - -} |