org.apache.catalina.tribes.membership
public class MemberImpl extends java.lang.Object implements Member, java.io.Externalizable
Modifier and Type | Field and Description |
---|---|
protected byte[] |
command
Command, so that the custom payload doesn't have to be used
This is for internal tribes use, such as SHUTDOWN_COMMAND
|
protected byte[] |
dataPkg
To avoid serialization over and over again, once the local dataPkg
has been set, we use that to transmit data
|
static boolean |
DO_DNS_LOOKUPS
Should a call to getName or getHostName try to do a DNS lookup?
|
protected byte[] |
domain
Domain if we want to filter based on domain.
|
protected byte[] |
host
The listen host for this member
|
protected java.lang.String |
hostname |
static java.lang.String |
MEMBER_NAME |
protected long |
memberAliveTime
The number of milliseconds since this members was
created, is kept track of using the start time
|
protected int |
msgCount
Counter for how many broadcast messages have been sent from this member
|
protected byte[] |
payload
Custom payload that an app framework can broadcast
Also used to transport stop command.
|
protected int |
port
The tcp listen port for this member
|
protected int |
securePort
The tcp/SSL listen port for this member
|
protected long |
serviceStartTime
For the local member only
|
static java.lang.String |
TCP_LISTEN_HOST |
static java.lang.String |
TCP_LISTEN_PORT
Public properties specific to this implementation
|
static byte[] |
TRIBES_MBR_BEGIN |
static byte[] |
TRIBES_MBR_END |
protected byte[] |
uniqueId
Unique session Id for this member
|
SHUTDOWN_PAYLOAD
Constructor and Description |
---|
MemberImpl()
Empty constructor for serialization
|
MemberImpl(java.lang.String host,
int port,
long aliveTime)
Construct a new member object
|
MemberImpl(java.lang.String host,
int port,
long aliveTime,
byte[] payload) |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
bToS(byte[] data) |
static java.lang.String |
bToS(byte[] data,
int max) |
boolean |
equals(java.lang.Object o)
Returns true if the param o is a McastMember with the same name
|
byte[] |
getCommand()
returns the command associated with this member
|
byte[] |
getData()
Create a data package to send over the wire representing this member.
|
byte[] |
getData(boolean getalive)
Highly optimized version of serializing a member into a byte array
Returns a cached byte[] reference, do not modify this data
|
byte[] |
getData(boolean getalive,
boolean reset) |
int |
getDataLength() |
byte[] |
getDomain()
Domain for this cluster
|
byte[] |
getHost()
Return the TCP listen host for this member
|
java.lang.String |
getHostname() |
static MemberImpl |
getMember(byte[] data) |
static MemberImpl |
getMember(byte[] data,
int offset,
int length) |
static MemberImpl |
getMember(byte[] data,
int offset,
int length,
MemberImpl member) |
static MemberImpl |
getMember(byte[] data,
MemberImpl member)
Deserializes a member from data sent over the wire
|
long |
getMemberAliveTime()
Contains information on how long this member has been online.
|
java.lang.String |
getName()
Return the name of this object
|
byte[] |
getPayload()
returns the payload associated with this member
|
int |
getPort()
Return the listen port of this member
|
int |
getSecurePort()
Returns the secure listen port for the ChannelReceiver implementation.
|
long |
getServiceStartTime() |
byte[] |
getUniqueId()
returns a UUID unique for this member over all sessions.
|
int |
hashCode() |
protected void |
inc()
Increment the message count.
|
boolean |
isFailing() |
boolean |
isReady()
The current state of the member
|
boolean |
isSuspect()
The current state of the member
|
void |
readExternal(java.io.ObjectInput in) |
void |
setCommand(byte[] command) |
void |
setDomain(byte[] domain) |
void |
setHost(byte[] host) |
void |
setHostname(java.lang.String host) |
void |
setMemberAliveTime(long time) |
void |
setMsgCount(int msgCount) |
void |
setPayload(byte[] payload) |
void |
setPort(int port) |
void |
setSecurePort(int securePort) |
void |
setServiceStartTime(long serviceStartTime) |
void |
setUniqueId(byte[] uniqueId) |
java.lang.String |
toString()
String representation of this object
|
void |
writeExternal(java.io.ObjectOutput out) |
public static final boolean DO_DNS_LOOKUPS
public static final transient java.lang.String TCP_LISTEN_PORT
public static final transient java.lang.String TCP_LISTEN_HOST
public static final transient java.lang.String MEMBER_NAME
public static final transient byte[] TRIBES_MBR_BEGIN
public static final transient byte[] TRIBES_MBR_END
protected byte[] host
protected transient java.lang.String hostname
protected int port
protected int securePort
protected int msgCount
protected long memberAliveTime
protected transient long serviceStartTime
protected transient byte[] dataPkg
protected byte[] uniqueId
protected byte[] payload
protected byte[] command
protected byte[] domain
public MemberImpl()
public MemberImpl(java.lang.String host, int port, long aliveTime) throws java.io.IOException
name
- - the name of this member, cluster uniquedomain
- - the cluster domain name of this memberhost
- - the tcp listen hostport
- - the tcp listen portjava.io.IOException
public MemberImpl(java.lang.String host, int port, long aliveTime, byte[] payload) throws java.io.IOException
java.io.IOException
public boolean isReady()
Member
public boolean isSuspect()
Member
public boolean isFailing()
protected void inc()
public byte[] getData()
java.lang.Exception
public byte[] getData(boolean getalive)
getalive
- booleanpublic int getDataLength()
public byte[] getData(boolean getalive, boolean reset)
getalive
- boolean - calculate memberAlive timereset
- boolean - reset the cached data package, and create a new onepublic static MemberImpl getMember(byte[] data, MemberImpl member)
data
- - the bytes receivedpublic static MemberImpl getMember(byte[] data, int offset, int length, MemberImpl member)
public static MemberImpl getMember(byte[] data)
public static MemberImpl getMember(byte[] data, int offset, int length)
public java.lang.String getName()
public int getPort()
getPort
in interface Member
ChannelReceiver
public byte[] getHost()
getHost
in interface Member
ChannelReceiver
public java.lang.String getHostname()
public long getMemberAliveTime()
getMemberAliveTime
in interface Member
public long getServiceStartTime()
public byte[] getUniqueId()
Member
getUniqueId
in interface Member
public byte[] getPayload()
Member
getPayload
in interface Member
public byte[] getCommand()
Member
getCommand
in interface Member
public byte[] getDomain()
Member
public int getSecurePort()
Member
getSecurePort
in interface Member
ChannelReceiver
public void setMemberAliveTime(long time)
public java.lang.String toString()
toString
in class java.lang.Object
public static java.lang.String bToS(byte[] data)
public static java.lang.String bToS(byte[] data, int max)
public int hashCode()
hashCode
in class java.lang.Object
Object.hashCode()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
o
- public void setHost(byte[] host)
public void setHostname(java.lang.String host) throws java.io.IOException
java.io.IOException
public void setMsgCount(int msgCount)
public void setPort(int port)
public void setServiceStartTime(long serviceStartTime)
public void setUniqueId(byte[] uniqueId)
public void setPayload(byte[] payload)
public void setCommand(byte[] command)
public void setDomain(byte[] domain)
public void setSecurePort(int securePort)
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.