Package freenet.clients.fcp

Source Code of freenet.clients.fcp.FinishedCompressionMessage

/* This code is part of Freenet. It is distributed under the GNU General
* Public License, version 2 (or at your option any later version). See
* http://www.gnu.org/ for further details of the GPL. */
package freenet.clients.fcp;

import freenet.client.events.FinishedCompressionEvent;
import freenet.node.Node;
import freenet.support.SimpleFieldSet;
import freenet.support.compress.Compressor;

public class FinishedCompressionMessage extends FCPMessage {

  final String identifier;
  final boolean global;
  final int codec;
  final long origSize;
  final long compressedSize;

  /**
   * zero arg c'tor for db4o on jamvm
   */
  @SuppressWarnings("unused")
  private FinishedCompressionMessage() {
    origSize = 0;
    identifier = null;
    global = false;
    compressedSize = 0;
    codec = 0;
  }

  public FinishedCompressionMessage(String identifier, boolean global, FinishedCompressionEvent event) {
    this.identifier = identifier;
    this.codec = event.codec;
    this.compressedSize = event.compressedSize;
    this.origSize = event.originalSize;
    this.global = global;
  }

  @Override
  public SimpleFieldSet getFieldSet() {
    SimpleFieldSet fs = new SimpleFieldSet(true);
    fs.putSingle("Identifier", identifier);
    fs.put("Codec", codec);
    if(codec != -1)
      fs.putSingle("Codec.Name", Compressor.COMPRESSOR_TYPE.getCompressorByMetadataID((short)codec).name());
    else
      fs.putSingle("Codec.Name", "NONE");
    fs.put("OriginalSize", origSize);
    fs.put("CompressedSize", compressedSize);
    fs.put("Global", global);
    return fs;
  }

  @Override
  public String getName() {
    return "FinishedCompression";
  }

  @Override
  public void run(FCPConnectionHandler handler, Node node) throws MessageInvalidException {
    throw new MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "FinishedCompression goes from server to client not the other way around", identifier, global);
  }

}
TOP

Related Classes of freenet.clients.fcp.FinishedCompressionMessage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.