package edu.uw.zookeeper.protocol;
import edu.uw.zookeeper.protocol.proto.Records;
public interface Message extends Encodable {
/**
* Sent by client.
*/
public static interface Client extends Message {}
/**
* Sent by server.
*/
public static interface Server extends Message {}
/**
* Not associated with a session.
*/
public static interface Anonymous extends Message {}
public static interface ClientAnonymous extends Client, Anonymous {}
public static interface ServerAnonymous extends Server, Anonymous {}
/**
* Associated with a session.
*/
public static interface Session extends Message {}
public static interface ClientSession extends Session, Client, Operation.Request {}
public static interface ServerSession extends Session, Server, Operation.Response {}
public static interface ClientRequest<T extends Records.Request> extends ClientSession, Operation.ProtocolRequest<T> {}
public static interface ServerResponse<T extends Records.Response> extends ServerSession, Operation.ProtocolResponse<T> {}
}