package freenet.clients.fcp; import freenet.node.Node; import freenet.support.SimpleFieldSet; public abstract class N2NFeedMessage extends FeedMessage { protected final String sourceNodeName; protected final long composed, sent, received; public N2NFeedMessage(String header, String shortText, String text, short priorityClass, long updatedTime, String sourceNodeName, long composed, long sent, long received) { super(header, shortText, text, priorityClass, updatedTime); this.sourceNodeName = sourceNodeName; this.composed = composed; this.sent = sent; this.received = received; } @Override public SimpleFieldSet getFieldSet() { SimpleFieldSet fs = super.getFieldSet(); fs.putSingle("SourceNodeName", sourceNodeName); if (composed != -1) fs.put("TimeComposed", composed); if (sent != -1) fs.put("TimeSent", sent); if (received != -1) fs.put("TimeReceived", received); return fs; } @Override public void run(FCPConnectionHandler handler, Node node) throws MessageInvalidException { throw new MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, getName() + " goes from server to client not the other way around", null, false); } }