Package freenet.clients.fcp

Source Code of freenet.clients.fcp.CompatibilityMode

package freenet.clients.fcp;

import freenet.client.InsertContext;
import freenet.client.async.CompatibilityAnalyser;
import freenet.node.Node;
import freenet.support.HexUtil;
import freenet.support.SimpleFieldSet;

public class CompatibilityMode extends FCPMessage {
   
    public CompatibilityMode(String identifier, boolean global, CompatibilityAnalyser compat) {
        this.identifier = identifier;
        this.global = global;
        this.compat = compat;
    }
 
    private static final long serialVersionUID = 1L;
   
    private final CompatibilityAnalyser compat;
    final String identifier;
    final boolean global;
   
  @Override
  public SimpleFieldSet getFieldSet() {
    SimpleFieldSet fs = new SimpleFieldSet(false);
    fs.putOverwrite("Min", compat.min().name());
    fs.putOverwrite("Max", compat.max().name());
    fs.put("Min.Number", compat.min().ordinal());
    fs.put("Max.Number", compat.max().ordinal());
    fs.putOverwrite("Identifier", identifier);
    fs.put("Global", global);
    byte[] cryptoKey = compat.getCryptoKey();
    if(cryptoKey != null)
      fs.putOverwrite("SplitfileCryptoKey", HexUtil.bytesToHex(cryptoKey));
    fs.put("DontCompress", compat.dontCompress());
    fs.put("Definitive", compat.definitive());
    return fs;
  }
 
  @Override
  public String getName() {
    return "CompatibilityMode";
  }
 
  @Override
  public void run(FCPConnectionHandler handler, Node node) throws MessageInvalidException {
    throw new UnsupportedOperationException();
  }

  public InsertContext.CompatibilityMode[] getModes() {
      return compat.getModes();
  }

}
TOP

Related Classes of freenet.clients.fcp.CompatibilityMode

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.