| package gnu.javax.net.ssl.provider; |
| |
| import gnu.javax.net.ssl.provider.Extension.Value; |
| |
| import java.nio.ByteBuffer; |
| |
| /** |
| * Extension value |
| * @author csm |
| */ |
| public class MaxFragmentLength extends Value |
| { |
| public static final MaxFragmentLength LEN_2_9 = new MaxFragmentLength(1, 1 << 9); |
| public static final MaxFragmentLength LEN_2_10 = new MaxFragmentLength(2, 1 << 10); |
| public static final MaxFragmentLength LEN_2_11 = new MaxFragmentLength(3, 1 << 11); |
| public static final MaxFragmentLength LEN_2_12 = new MaxFragmentLength(4, 1 << 12); |
| |
| private final int value; |
| private final int length; |
| |
| private MaxFragmentLength(int value, int length) |
| { |
| this.value = value; |
| this.length = length; |
| } |
| |
| public ByteBuffer buffer() |
| { |
| return ByteBuffer.allocate(1).put(0, (byte) value); |
| } |
| |
| public int length() |
| { |
| return 1; |
| } |
| |
| public int getValue() |
| { |
| return value; |
| } |
| |
| public int maxLength() |
| { |
| return length; |
| } |
| |
| public String toString() |
| { |
| return toString(null); |
| } |
| |
| public String toString(String prefix) |
| { |
| String s = "max_fragment_length = "; |
| if (prefix != null) |
| s = prefix + s; |
| return s + maxLength() + ";"; |
| } |
| } |