01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.net.groups;
06:
07: import com.tc.io.TCSerializable;
08:
09: import java.io.Externalizable;
10:
11: /**
12: * This interface represents a Node be it an L2 or and L1 and is mostly used an an unified way of identifying an
13: * external entity.
14: */
15: public interface NodeID extends Externalizable, TCSerializable {
16: // /////////////////////////////////////////////////////////////////////////////////////////////////////
17: // XXX:: NOTE::
18: // 1) Any new implemention of this interface should also implement the serialization methods
19: // in NodeIDSerializer.
20: // 2) Also note that the Externalizable methods should assume that it is getting a TCObjectOutput
21: // stream as input and hence should not try to serialize any arbitorary objects, only literal objects are
22: // supported. This is done for faster processing and effective serialization plus today there are no complex
23: // types contained in NodeID implemenations.
24: // 3) These classes should implement two different serialization methods since they are used in two different
25: // stack implementation. Someday when we move to one comms stack ,there is a huge clean up waiting here.
26: //
27: // /////////////////////////////////////////////////////////////////////////////////////////////////////
28: public boolean isNull();
29: }
|