package dslab.protocol.dmtp; import dslab.protocol.Message; import dslab.protocol.Protocol; import dslab.routing.Address; import dslab.routing.AddressResolutionException; import java.util.List; public interface Dmtp extends Protocol { /** * @return old message if exists, null otherwise */ Message begin(); void from(Address sender) throws NoOpenMessageException, AddressResolutionException; int to(List
receivers) throws NoOpenMessageException, AddressResolutionException; void subject(String subject) throws NoOpenMessageException; void data(String data) throws NoOpenMessageException; void send() throws NoOpenMessageException, InvalidMessageException; void quit(); void hash(String hash) throws NoOpenMessageException; default String getName() { return "DMTP2.0"; } }