org.jgroups.protocols.PrioHeader Maven / Gradle / Ivy
package org.jgroups.protocols;
import org.jgroups.Global;
import org.jgroups.Header;
import java.io.DataInput;
import java.io.DataOutput;
/**
* This Header class is used in conjunction with the PRIO protocol to prioritize message sending/receiving
* Priority values are from 0 to 255 where 0 is the highest priority
*
* Example of setting a message priority:
*
* // Create a message to send to everyone
* Message message = new Message( null, null, messagePayload );
* // Add the priority protocol header
* PrioHeader header = new PrioHeader( 1 );
* short protocolId = ClassConfigurator.getProtocolId(PRIO.class);
* message.putHeader( protocolId, header);
*
* @author Michael Earl
*/
public class PrioHeader extends Header {
private byte priority = 0;
public PrioHeader() {
}
public PrioHeader( byte priority ) {
this.priority = priority;
}
public byte getPriority() {
return priority;
}
public void setPriority( byte priority ) {
this.priority = priority;
}
@Override
public int size() {
return Global.BYTE_SIZE;
}
public void writeTo( DataOutput outstream ) throws Exception {
outstream.writeByte(priority);
}
public void readFrom( DataInput instream ) throws Exception {
priority=instream.readByte();
}
@Override
public String toString()
{
return "PRIO priority=" + priority;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy