123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package de.tudarmstadt.informatik.hostage.protocol;
- import java.util.List;
- import de.tudarmstadt.informatik.hostage.wrapper.Packet;
- /**
- * Protocol interface.
- *
- * @author Mihai Plasoianu
- * @author Wulf Pfeiffer
- */
- public interface Protocol {
- public static enum TALK_FIRST {
- SERVER, CLIENT
- };
- /**
- * Returns the port on which the protocol is running.
- *
- * @return The port used by the protocol (1-65535)
- */
- int getPort();
- /**
- * Returns whether the communication is ended and the connection should be
- * closed or not.
- *
- * @return true if the connection should be closed, false otherwise.
- */
- boolean isClosed();
- /**
- * Returns whether the protocol uses a secure connection or not.
- *
- * @return true if SSL/TLS is used, false otherwise.
- */
- boolean isSecure();
- /**
- * Determines the next response.
- *
- * @param message
- * Last message received from the client.
- * @return Message to be sent to the client.
- */
- List<Packet> processMessage(Packet message);
- /**
- * Returns the name of the protocol.
- *
- * @return String representation of the protocol.
- */
- @Override
- String toString();
- /**
- * Specifies who starts the communication once the connection is
- * established.
- *
- * @return A value in TALK_FIRST.
- */
- TALK_FIRST whoTalksFirst();
- }
|