Refine search
@MBean(description="Prints the headers of all sent and/or received messages") public class HDRS extends Protocol { @Property(description="Enables printing of down messages") protected volatile boolean print_down=true; @Property(description="Enables printing of up (received) messages") protected volatile boolean print_up=true;
@MBean(description="Simple non-blocking flow control protocol based on a credit system") public class MFC_NB extends MFC { @Property(description="Max number of bytes of all queued messages for a given destination. If a given destination " + "has no credits left and the message cannot be added to the queue because it is full, then the sender thread " + "will be blocked until there is again space available in the queue, or the protocol is stopped.")
@MBean(description="Simple non-blocking flow control protocol based on a credit system") public class UFC_NB extends UFC { @Property(description="Max number of bytes of all queued messages for a given destination. If a given destination " + "has no credits left and the message cannot be added to the queue because it is full, then the sender thread " + "will be blocked until there is again space available in the queue, or the protocol is stopped.")
@MBean(description="Maintains mappings of addresses and their logical names") public class NAMING extends Protocol { protected Address local_addr; protected volatile View view; @Property(description="Stagger timeout (in ms). Staggering will be a random timeout in range [0 .. stagger_timeout]") protected long stagger_timeout=500;
@MBean(description="Persistent Discovery Cache. Caches discovery information on disk.") public class PDC extends Protocol { protected final ConcurrentMap<Address,PhysicalAddress> cache=new ConcurrentHashMap<>(); @Property(description="The absolute path of the directory for the disk cache. The mappings will be stored as " + "individual files in this directory") protected String cache_dir=File.separator + "tmp" + File.separator + "jgroups";
@MBean(description="Symmetric encryption protocol. The (shared) shared secret key is configured up front, " + "e.g. via a key store, or injection") public class SYM_ENCRYPT extends Encrypt<KeyStore.SecretKeyEntry> { @Property(description="File on classpath that contains keystore repository") protected String keystore_name; @Property(description="The type of the keystore. " + "Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html") protected String keystore_type="JCEKS"; @Property(description="Password used to check the integrity/unlock the keystore. Change the default", exposeAsManagedAttribute=false) protected String store_password="changeit"; // JDK default
@MBean(description="Intercepts single messages and passes them up as batches") public class MAKE_BATCH extends Protocol { @Property(description="handle multicast messages") protected boolean multicasts=false; @Property(description="handle unicast messages") protected boolean unicasts=false; @Property(description="Time to sleep (in ms) from the reception of the first message to sending a batch up") protected long sleep_time=100;
@MBean(description="Compresses messages to send and uncompresses received messages") public class COMPRESS extends Protocol { @Property(description="Compression level (from java.util.zip.Deflater) " + "(0=no compression, 1=best speed, 9=best compression). Default is 9") protected int compression_level=Deflater.BEST_COMPRESSION; // this is 9 @Property(description="Minimal payload size of a message (in bytes) for compression to kick in. Default is 500 bytes") protected long min_size=500; @Property(description="Number of inflaters/deflaters for concurrent processing. Default is 2 ") protected int pool_size=2;
@MBean(description="Written by Sanne") public class DELAY extends Protocol { @Property(description = "Upper bound of number of milliseconds to delay passing a message up the stack (exclusive)") protected int in_delay; @Property(description = "Upper bound number of milliseconds to delay passing a message down the stack (exclusive)") protected int out_delay; @Property(description = "Number of nanoseconds to delay passing a message up the stack") protected int in_delay_nanos; @Property(description = "Number of nanoseconds to delay passing a message down the stack")
@MBean(description="Blocks all multicast threads when closed") public class BARRIER extends Protocol { @Property(description="Max time barrier can be closed. Default is 60000 ms") protected long max_close_time=60000; // how long can the barrier stay closed (in ms) ? 0 means forever @Property(description="Max time (in ms) to wait until the threads which passed the barrier before it was closed " + "have completed. If this time elapses, an exception will be thrown and state transfer will fail. 0 = wait forever") protected long flush_timeout=5000;
@MBean(description="Key exchange protocol to fetch a shared secret group key from the key server." + "That shared (symmetric) key is subsequently used to encrypt communication between cluster members") public class DH_KEY_EXCHANGE extends KeyExchange { @Property(description="The type of secret key to be sent up the stack (converted from DH). " + "Should be the same as ASYM_ENCRYPT.sym_algorithm if ASYM_ENCRYPT is used") protected String secret_key_algorithm="AES"; @Property(description="The length of the secret key (in bits) to be sent up the stack. AES requires 128 bits. " + "Should be the same as ASYM_ENCRYPT.sym_keylength if ASYM_ENCRYPT is used.") protected int secret_key_length=128; // used for AES @Property(description="Max time (in ms) that a FETCH_SECRET_KEY down event will be ignored (if an existing " + "request is in progress) until a new request for the secret key is sent to the keyserver") protected long timeout=2000;
@MBean(description="Simple flow control protocol based on a credit system") public abstract class FlowControl extends Protocol { @Property(description="Max number of bytes to send per receiver until an ack must be received to proceed") protected long max_credits=500000; @Property(description="Max time (in ms) to block") protected long max_block_time=500; @Property(description="The threshold (as a percentage of max_credits) at which a receiver sends more credits to " + "a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits " + "to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)")
@MBean(description="Asymmetric encryption protocol. The secret key for encryption and decryption of messages is fetched " + "from a key server (the coordinator) via asymmetric encryption") public class ASYM_ENCRYPT extends Encrypt<KeyStore.PrivateKeyEntry> { protected static final short GMS_ID=ClassConfigurator.getProtocolId(GMS.class); @Property(description="When a member leaves, change the secret key, preventing old members from eavesdropping") protected boolean change_key_on_leave=true; @Property(description="If true, a separate KeyExchange protocol (somewhere below in ths stack) is used to" + " fetch the shared secret key. If false, the default (built-in) key exchange protocol will be used.") protected boolean use_external_key_exchange; @Property(description="Interval (in ms) to send out announcements when the key server changed. Members will then " + "start the key exchange protocol. When all members have acked, the task is cancelled.") protected long key_server_interval=1000;
@MBean(description="State trasnfer protocol based on streaming state transfer") public class STATE_SOCK extends StreamingStateTransfer { @Property(description="The interface (NIC) used to accept state requests. " + "The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK", systemProperty={Global.BIND_ADDR},writable=false) protected InetAddress bind_addr; @Property(description="Use \"external_addr\" if you have hosts on different networks, behind " + "firewalls. On each firewall, set up a port forwarding rule (sometimes called \"virtual server\") to " + "the local IP (e.g. 192.168.1.100) of the host then on each host, set \"external_addr\" TCP transport " + protected InetAddress external_addr=null ; @Property(description="Used to map the internal port (bind_port) to an external port. Only used if > 0", systemProperty=Global.EXTERNAL_PORT,writable=false) protected int external_port=0;
@MBean(description = "Provides SASL authentication") public class SASL extends Protocol { public static final short GMS_ID = ClassConfigurator.getProtocolId(GMS.class); public static final String SASL_PROTOCOL_NAME = "jgroups"; @Property(name = "login_module_name", description = "The name of the JAAS login module to use to obtain a subject for creating the SASL client and server (optional). Only required by some SASL mechs (e.g. GSSAPI)") protected String login_module_name; @Property(name = "client_name", description = "The name to use when a node is acting as a client (i.e. it is not the coordinator. Will also be used to obtain the subject if using a JAAS login module") protected String client_name; @Property(name = "client_password", description = "The password to use when a node is acting as a client (i.e. it is not the coordinator. Will also be used to obtain the subject if using a JAAS login module", exposeAsManagedAttribute = false) protected String client_password;
@MBean(description="Simple TCP based transport") public class SimpleTCP extends TP { @Property(description="size in bytes of TCP receiver window") protected int recv_buf_size=500000; @Property(description="size in bytes of TCP send window") protected int send_buf_size=500000; @Property(description="Size of the buffer of the BufferedInputStream in TcpConnection. A read always tries to read " + "ahead as much data as possible into the buffer. 0: default size") protected int buffered_input_stream_size=8192;