package org.jgroups; import org.jgroups.util.SizeStreamable; /** * Header is a JGroups internal base class for all JGroups headers. Client normally do not need to * interact with headers unless they are developing their custom protocols. * * @author Bela Ban * @since 2.0 */ public abstract class Header implements SizeStreamable, Constructable<Header> { /** The ID of the protocol which added a header to a message. Set externally, e.g. by {@link Message#putHeader(short,Header)} */ protected short prot_id; public short getProtId() {return prot_id;} public Header setProtId(short id) {this.prot_id=id; return this;} /** Returns the magic-ID. If defined in jg-magic-map.xml, the IDs need to be the same */ public abstract short getMagicId(); /** @deprecated Headers should implement {@link SizeStreamable#serializedSize()} instead */ @Deprecated public int size() { return serializedSize(); } public String toString() { return '[' + getClass().getSimpleName() + "]"; } }