Package org.apache.zookeeper.compat
Class ProtocolManager
- java.lang.Object
-
- org.apache.zookeeper.compat.ProtocolManager
-
public final class ProtocolManager extends Object
A manager for switching behaviours between difference wire protocol.Basically, wire protocol should be backward and forward compatible between minor versions. However, there are several cases that it's different due to Jute's limitations.
-
-
Constructor Summary
Constructors Constructor Description ProtocolManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConnectRequestdeserializeConnectRequest(InputArchive inputArchive)DeserializingConnectRequestshould be specially handled for request from client version before and including ZooKeeper 3.3 which doesn't understand readOnly field.ConnectResponsedeserializeConnectResponse(InputArchive inputArchive)DeserializingConnectResponseshould be specially handled for response from server version before and including ZooKeeper 3.3 which doesn't understand readOnly field.booleanisReadonlyAvailable()voidserializeConnectResponse(ConnectResponse response, OutputArchive outputArchive)The serialization ofConnectResponsehas to be handled specially as clients earlier than 3.5 might not expect thereadOnlyflag.
-
-
-
Method Detail
-
isReadonlyAvailable
public boolean isReadonlyAvailable()
-
deserializeConnectRequest
public ConnectRequest deserializeConnectRequest(InputArchive inputArchive) throws IOException
DeserializingConnectRequestshould be specially handled for request from client version before and including ZooKeeper 3.3 which doesn't understand readOnly field.- Throws:
IOException
-
deserializeConnectResponse
public ConnectResponse deserializeConnectResponse(InputArchive inputArchive) throws IOException
DeserializingConnectResponseshould be specially handled for response from server version before and including ZooKeeper 3.3 which doesn't understand readOnly field.- Throws:
IOException
-
serializeConnectResponse
public void serializeConnectResponse(ConnectResponse response, OutputArchive outputArchive) throws IOException
The serialization ofConnectResponsehas to be handled specially as clients earlier than 3.5 might not expect thereadOnlyflag.- Parameters:
response- the response to serializeoutputArchive- the serialization destination- Throws:
IOException- See Also:
deserializeConnectRequest(InputArchive)
-
-