Home / Class/ UnitHelp Class — netty Architecture

UnitHelp Class — netty Architecture

Architecture documentation for the UnitHelp class in UnitHelp.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  5cb085ac_891a_b04a_b428_b5f3edd27e64["UnitHelp"]
  22f5d253_08e6_6043_53ae_cda913531b62["UnitHelp.java"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|defined in| 22f5d253_08e6_6043_53ae_cda913531b62
  3e942073_68da_c4c4_f76b_57d3bd276f9e["canLoadAndInitClass()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 3e942073_68da_c4c4_f76b_57d3bd276f9e
  c0962bb5_1edf_fdc4_3e35_317684577f85["clear()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| c0962bb5_1edf_fdc4_3e35_317684577f85
  ffd9219e_6e3f_8d6f_98e4_3a6bb380959f["ping()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| ffd9219e_6e3f_8d6f_98e4_3a6bb380959f
  222a2dff_6e65_4f96_fc4f_b4391887fa8a["process()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 222a2dff_6e65_4f96_fc4f_b4391887fa8a
  3b22c72a_261f_ec7a_48a5_40433ae2fa9c["InetSocketAddress()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 3b22c72a_261f_ec7a_48a5_40433ae2fa9c
  bbf1f6a6_ef0a_ae69_a81a_66788212d09e["logBuffer()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| bbf1f6a6_ef0a_ae69_a81a_66788212d09e
  44e50fa8_78d1_c9a1_33ba_6458884a9699["logClassPath()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 44e50fa8_78d1_c9a1_33ba_6458884a9699
  782a434d_5882_1a10_dfe0_8ff8ab189ec5["logLibraryPath()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 782a434d_5882_1a10_dfe0_8ff8ab189ec5
  989590be_02aa_3b03_40a4_aea00b2e1cd9["logOsArch()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 989590be_02aa_3b03_40a4_aea00b2e1cd9
  bce8e6eb_2207_8a57_8a5f_bf3455851679["logSet()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| bce8e6eb_2207_8a57_8a5f_bf3455851679
  f2090a13_36c6_7503_de54_701ded79074f["String()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| f2090a13_36c6_7503_de54_701ded79074f
  0b5a4f2b_561c_2aad_0e11_0bcc82ade6d2["randomIntArray()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| 0b5a4f2b_561c_2aad_0e11_0bcc82ade6d2
  fbbab3d2_1656_f6eb_459e_1e29767c1eaf["socketAwait()"]
  5cb085ac_891a_b04a_b428_b5f3edd27e64 -->|method| fbbab3d2_1656_f6eb_459e_1e29767c1eaf

Relationship Graph

Source Code

transport-udt/src/test/java/io/netty/test/udt/util/UnitHelp.java lines 41–278

public final class UnitHelp {

    private static final InternalLogger log = InternalLoggerFactory.getInstance(UnitHelp.class);
    private static final Pattern SPACES = Pattern.compile("\\s+");

    /**
     * Verify class loading with class initialization.
     */
    public static boolean canLoadAndInitClass(String name) {
        try {
            Class.forName(name, true, UnitHelp.class.getClassLoader());
            log.info("Class load and init success.");
            return true;
        } catch (Throwable e) {
            log.warn("Class load or init failure.", e);
            return false;
        }
    }

    /**
     * Zero out buffer.
     */
    public static void clear(final IntBuffer buffer) {
        for (int index = 0; index < buffer.capacity(); index++) {
            buffer.put(index, 0);
        }
    }

    /**
     * Measure ping time to a host.
     */
    public static long ping(final String host) throws Exception {
        final String name = System.getProperty("os.name").toLowerCase(Locale.US);

        final String command;
        if (name.contains("linux")) {
            command = "ping -c 1 " + host;
        } else if (name.contains("mac os x")) {
            command = "ping -c 1 " + host;
        } else if (name.contains("windows")) {
            command = "ping -n 1 " + host;
        } else {
            throw new Exception("unknown platform");
        }

        final long timeStart = System.currentTimeMillis();

        process(command);

        final long timeFinish = System.currentTimeMillis();

        return timeFinish - timeStart;
    }

    /**
     * Invoke external process and wait for completion.
     */
    public static void process(final String command) throws Exception {
        final ProcessBuilder builder = new ProcessBuilder(SPACES.split(command));
        final Process process = builder.start();
        process.waitFor();
    }

    /**
     * @return newly allocated address or null for failure
     */
    public static synchronized InetSocketAddress findLocalAddress(
            final String host) {
        ServerSocket socket = null;
        try {
            final InetAddress address = SocketUtils.addressByName(host);
            socket = new ServerSocket(0, 3, address);
            return (InetSocketAddress) socket.getLocalSocketAddress();
        } catch (final Exception e) {
            log.error("Failed to find address.");
            return null;
        } finally {
            if (socket != null) {
                try {
                    socket.close();
                } catch (final Exception e) {

Frequently Asked Questions

What is the UnitHelp class?
UnitHelp is a class in the netty codebase, defined in transport-udt/src/test/java/io/netty/test/udt/util/UnitHelp.java.
Where is UnitHelp defined?
UnitHelp is defined in transport-udt/src/test/java/io/netty/test/udt/util/UnitHelp.java at line 41.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free