Package freenet.clients.fcp

Source Code of freenet.clients.fcp.ExpectedHashes

package freenet.clients.fcp;

import java.io.Serializable;

import freenet.client.events.ExpectedHashesEvent;
import freenet.crypt.HashResult;
import freenet.node.Node;
import freenet.support.Logger;
import freenet.support.SimpleFieldSet;

public class ExpectedHashes extends FCPMessage implements Serializable {

    private static final long serialVersionUID = 1L;
    final HashResult[] hashes;
  final String identifier;
  final boolean global;
 
  public ExpectedHashes(ExpectedHashesEvent event, String identifier, boolean global) {
    this.identifier = identifier;
    this.global = global;
    this.hashes = event.hashes;
  }
 
    ExpectedHashes(HashResult[] hashes, String identifier, boolean global) {
        this.identifier = identifier;
        this.global = global;
        this.hashes = hashes;
    }
   
  protected ExpectedHashes() {
      // For serialization.
      hashes = null;
      identifier = null;
      global = false;
  }

  @Override
  public SimpleFieldSet getFieldSet() {
    if(hashes == null) {
      Logger.error(this, "Hashes == null, possibly persistence issue caused prior to build 1411 on "+this);
      return null;
    }
    SimpleFieldSet fs = new SimpleFieldSet(false);
    SimpleFieldSet values = new SimpleFieldSet(false);
    for(HashResult hash : hashes) {
      if(hash == null) {
        Logger.error(this, "Hash == null, possibly persistence issue caused prior to build 1411 on "+this);
        return null;
      }
      values.putOverwrite(hash.type.name(), hash.hashAsHex());
    }
    fs.put("Hashes", values);
    fs.putOverwrite("Identifier", identifier);
    fs.put("Global", global);
    return fs;
  }

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

  @Override
  public void run(FCPConnectionHandler handler, Node node)
      throws MessageInvalidException {
    throw new UnsupportedOperationException();
  }

}
TOP

Related Classes of freenet.clients.fcp.ExpectedHashes

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.