Exemplo n.º 1
0
  protected DHTUDPPacketReplyStats(
      DHTUDPPacketNetworkHandler network_handler,
      InetSocketAddress originator,
      DataInputStream is,
      int trans_id)
      throws IOException {
    super(network_handler, originator, is, DHTUDPPacketHelper.ACT_REPLY_STATS, trans_id);

    if (getProtocolVersion() >= DHTTransportUDP.PROTOCOL_VERSION_GENERIC_NETPOS) {

      stats_type = is.readInt();

      if (stats_type == DHTUDPPacketRequestStats.STATS_TYPE_ORIGINAL) {

        original_stats = DHTUDPUtils.deserialiseStats(getProtocolVersion(), is);

      } else {

        new_stats = DHTUDPUtils.deserialiseByteArray(is, 65535);
      }
    } else {

      original_stats = DHTUDPUtils.deserialiseStats(getProtocolVersion(), is);
    }
  }
  protected DHTTransportUDPContactImpl(
      boolean _is_local,
      DHTTransportUDPImpl _transport,
      InetSocketAddress _transport_address,
      InetSocketAddress _external_address,
      byte _protocol_version,
      int _instance_id,
      long _skew,
      byte _generic_flags)
      throws DHTTransportException {
    transport = _transport;
    transport_address = _transport_address;
    external_address = _external_address;
    protocol_version = _protocol_version;

    if (transport_address.equals(external_address)) {

      external_address = transport_address;
    }

    instance_id = _instance_id;
    skew = _skew;
    generic_flags = _generic_flags;

    if (transport_address == external_address
        || transport_address.getAddress().equals(external_address.getAddress())) {

      id = DHTUDPUtils.getNodeID(external_address, protocol_version);
    }

    createNetworkPositions(_is_local);
  }
Exemplo n.º 3
0
  public void serialise(DataOutputStream os) throws IOException {

    super.serialise(os);

    if (getProtocolVersion() >= DHTTransportUDP.PROTOCOL_VERSION_GENERIC_NETPOS) {

      os.writeInt(stats_type);

      if (stats_type == DHTUDPPacketRequestStats.STATS_TYPE_ORIGINAL) {

        DHTUDPUtils.serialiseStats(getProtocolVersion(), os, original_stats);

      } else {

        DHTUDPUtils.serialiseByteArray(os, new_stats, 65535);
      }

    } else {

      DHTUDPUtils.serialiseStats(getProtocolVersion(), os, original_stats);
    }
  }
 public void createNetworkPositions(boolean is_local) {
   network_positions =
       DHTNetworkPositionManager.createPositions(
           id == null ? DHTUDPUtils.getBogusNodeID() : id, is_local);
 }