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

org.broadinstitute.hellbender.utils.runtime.StreamingToolConstants Maven / Gradle / Ivy

The newest version!
package org.broadinstitute.hellbender.utils.runtime;

/**
 * Various constants used by StreamingProcessController that require synchronized equivalents in
 * the companion process, i.e., if the streaming process is written in Python, there must be
 * equivalent Python constants for use by the Python code.
 *
 * See the equivalents for Python in toolcontants.py.
 */
public class StreamingToolConstants {
    /**
     * Command acknowledgement messages used to signal positive acknowledgement ('ack'),
     * negative acknowledgement ('nck'), and negative acknowledgement with an accompanying
     * message ('nkm').
     */
    public static String STREAMING_ACK_MESSAGE = "ack";
    public static String STREAMING_NCK_MESSAGE = "nck";
    public static String STREAMING_NCK_WITH_MESSAGE_MESSAGE = "nkm";

    // This is only used by Java, but is kept here since it represents the length of the constant
    // strings defined above.
    protected static int STREAMING_ACK_MESSAGE_SIZE = 3; // "ack", "nck", or "nkm"

    /**
     * Number of characters used to represent the length of the serialized message, fixed at a constant
     * 4 characters to ensure we can deterministically know how much input to wait for when looking for
     * a message length in the incoming stream.
     */
    public static int STREAMING_NCK_WITH_MESSAGE_MESSAGE_LEN_SIZE = 4;
    public static int STREAMING_NCK_WITH_MESSAGE_MAX_MESSAGE_LENGTH = 9999;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy