All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.netty.example.http2.tiles.Html Maven / Gradle / Ivy

There is a newer version: 5.0.0.Alpha2
Show newest version
/*
 * Copyright 2015 The Netty Project
 *
 * The Netty Project 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.
 */

package io.netty.example.http2.tiles;

import static io.netty.util.CharsetUtil.UTF_8;

import java.util.Random;

/**
 * Static and dynamically generated HTML for the example.
 */
public final class Html {

    public static final String IP = System.getProperty("ip", "127.0.0.1");

    public static final byte[] FOOTER = "".getBytes(UTF_8);

    public static final byte[] HEADER = ("Netty HTTP/2 Example"
            + ""
            + ""
            + "A grid of 200 tiled images is shown below. Compare:"
            + "

[HTTP/2, 0 latency] [HTTP/1, 0 latency]
" + "[HTTP/2, 30ms latency] [HTTP/1, 30ms latency]
" + "[HTTP/2, 200ms latency] [HTTP/1, 200ms latency]
" + "[HTTP/2, 1s latency] [HTTP/1, " + "1s latency]
").getBytes(UTF_8); private static final int IMAGES_X_AXIS = 20; private static final int IMAGES_Y_AXIS = 10; private Html() { } private static String url(int port) { return IP + ":" + port + "/http2"; } public static byte[] body(int latency) { int r = Math.abs(new Random().nextInt()); // The string to be built contains 13192 fixed characters plus the variable latency and random cache-bust. int numberOfCharacters = 13192 + stringLength(latency) + stringLength(r); StringBuilder sb = new StringBuilder(numberOfCharacters).append("

"); for (int y = 0; y < IMAGES_Y_AXIS; y++) { for (int x = 0; x < IMAGES_X_AXIS; x++) { sb.append(""); } sb.append("
\r\n"); } sb.append("
"); return sb.toString().getBytes(UTF_8); } private static int stringLength(int value) { return Integer.toString(value).length() * IMAGES_X_AXIS * IMAGES_Y_AXIS; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy