package com.limegroup.gnutella.messages; import java.util.Set; import com.limegroup.gnutella.Response; import com.limegroup.gnutella.search.HostData; import com.limegroup.gnutella.util.DataUtils; class QueryReplyData { /** If parsed, the responses vendor string, if defined, or null otherwise. */ private volatile String vendor = null; /** If parsed, one of TRUE (push needed), FALSE, or UNDEFINED. */ private volatile int pushFlag = QueryReply.UNDEFINED; /** If parsed, one of TRUE (server busy), FALSE, or UNDEFINTED. */ private volatile int busyFlag = QueryReply.UNDEFINED; /** If parsed, one of TRUE (server busy), FALSE, or UNDEFINTED. */ private volatile int uploadedFlag = QueryReply.UNDEFINED; /** If parsed, one of TRUE (server busy), FALSE, or UNDEFINTED. */ private volatile int measuredSpeedFlag = QueryReply.UNDEFINED; /** Determines if the remote host supports chat */ private volatile boolean supportsChat = false; /** Determines if the remote host supports browse host */ private volatile boolean supportsBrowseHost = false; /** Determines if this is a reply to a multicast query */ private volatile boolean replyToMulticast = false; /** Determines if the remote host supports FW transfers */ private volatile boolean supportsFWTransfer = false; /** Version number of FW Transfer the host supports. */ private volatile byte fwTransferVersion = (byte)0; /** If parsed, the response records for this, or null if they could not be parsed. */ private volatile Response[] responses = null; /** The number of unique results (by SHA1) this message carries */ private volatile short uniqueResultURNs; /** the PushProxy info for this hit. */ private volatile Set proxies; /** Whether or not this is a result from a browse-host reply. */ private volatile boolean browseHostReply; /** The HostData containing information about this QueryReply. */ private volatile HostData hostData; /** The data with info about the secure result. */ private volatile SecureGGEPData secureGGEP; /** The xml chunk that contains metadata about xml responses*/ private volatile byte[] xmlBytes = DataUtils.EMPTY_BYTE_ARRAY; public int getBusyFlag() { return busyFlag; } public void setBusyFlag(int busyFlag) { this.busyFlag = busyFlag; } public byte getFwTransferVersion() { return fwTransferVersion; } public void setFwTransferVersion(byte fwTransferVersion) { this.fwTransferVersion = fwTransferVersion; } public int getMeasuredSpeedFlag() { return measuredSpeedFlag; } public void setMeasuredSpeedFlag(int measuredSpeedFlag) { this.measuredSpeedFlag = measuredSpeedFlag; } public int getPushFlag() { return pushFlag; } public void setPushFlag(int pushFlag) { this.pushFlag = pushFlag; } public boolean isReplyToMulticast() { return replyToMulticast; } public void setReplyToMulticast(boolean replyToMulticast) { this.replyToMulticast = replyToMulticast; } public Response[] getResponses() { return responses; } public void setResponses(Response[] responses) { this.responses = responses; } public boolean isSupportsBrowseHost() { return supportsBrowseHost; } public void setSupportsBrowseHost(boolean supportsBrowseHost) { this.supportsBrowseHost = supportsBrowseHost; } public boolean isSupportsChat() { return supportsChat; } public void setSupportsChat(boolean supportsChat) { this.supportsChat = supportsChat; } public boolean isSupportsFWTransfer() { return supportsFWTransfer; } public void setSupportsFWTransfer(boolean supportsFWTransfer) { this.supportsFWTransfer = supportsFWTransfer; } public short getUniqueResultURNs() { return uniqueResultURNs; } public void setUniqueResultURNs(short uniqueResultURNs) { this.uniqueResultURNs = uniqueResultURNs; } public int getUploadedFlag() { return uploadedFlag; } public void setUploadedFlag(int uploadedFlag) { this.uploadedFlag = uploadedFlag; } public String getVendor() { return vendor; } public void setVendor(String vendor) { this.vendor = vendor; } public boolean isBrowseHostReply() { return browseHostReply; } public void setBrowseHostReply(boolean browseHostReply) { this.browseHostReply = browseHostReply; } public HostData getHostData() { return hostData; } public void setHostData(HostData hostData) { this.hostData = hostData; } public Set getProxies() { return proxies; } public void setProxies(Set proxies) { this.proxies = proxies; } public SecureGGEPData getSecureGGEP() { return secureGGEP; } public void setSecureGGEP(SecureGGEPData secureGGEP) { this.secureGGEP = secureGGEP; } public byte[] getXmlBytes() { return xmlBytes; } public void setXmlBytes(byte[] xmlBytes) { this.xmlBytes = xmlBytes; } }