diff --git a/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java b/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java index 5c40ed07a..dedb388cc 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java @@ -156,7 +156,7 @@ class AddressBook { /** * Return an iterator over the addresses in the AddressBook. - * @since 0.8.6 + * @since 0.8.7 */ public Iterator> iterator() { if (this.subFile != null) @@ -166,7 +166,7 @@ class AddressBook { /** * Delete the temp file or clear the map. - * @since 0.8.6 + * @since 0.8.7 */ public void delete() { if (this.subFile != null) { diff --git a/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java b/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java index f8816717c..961c57409 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java @@ -38,7 +38,7 @@ import java.util.NoSuchElementException; * Callers should iterate all the way through or call close() * to ensure the underlying stream is closed. * - * @since 0.8.6 + * @since 0.8.7 */ class ConfigIterator implements Iterator> { diff --git a/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java b/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java index aa2a9d31e..fe541e57f 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java @@ -109,7 +109,7 @@ public class Daemon { * @param log * The log to write changes and conflicts to. * May be null. - * @since 0.8.6 + * @since 0.8.7 */ public static void update(NamingService router, File published, SubscriptionList subscriptions, Log log) { // If the NamingService is a database, we look up as we go. diff --git a/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java b/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java index 01597e765..ae0447336 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java @@ -67,7 +67,7 @@ class DaemonThread extends Thread implements NamingServiceUpdater { /** * The NamingServiceUpdater interface * @param options ignored - * @since 0.8.6 + * @since 0.8.7 */ public void update(Properties options) { interrupt(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java index 3b48833c7..b897cb6f6 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java @@ -207,12 +207,12 @@ class SummaryListener implements RateSummaryListener { long now() { return _context.clock().now(); } - /** @since 0.8.6 */ + /** @since 0.8.7 */ String getBackendName() { return _isPersistent ? RrdNioBackendFactory.NAME : RrdMemoryBackendFactory.NAME; } - /** @since 0.8.6 */ + /** @since 0.8.7 */ int getRows() { return _rows; } diff --git a/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java b/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java index aa28242b3..490a7f34c 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java @@ -73,7 +73,7 @@ public class AddressBean /** * The Unicode name, translated from Punycode * @return the original string on error - * @since 0.8.6 + * @since 0.8.7 */ public String getDisplayName() { @@ -83,7 +83,7 @@ public class AddressBean /** * The Unicode name, translated from Punycode * @return the original string on error - * @since 0.8.6 + * @since 0.8.7 */ public static String toUnicode(String host) { if (haveIDN) @@ -93,7 +93,7 @@ public class AddressBean /** * Is the ASCII name Punycode-encoded? - * @since 0.8.6 + * @since 0.8.7 */ public boolean isIDN() { @@ -110,7 +110,7 @@ public class AddressBean * @param name will be converted to lower case * @return name converted to lower case and punycoded if necessary * @throws IAE on various errors or if IDN is needed but not available - * @since 0.8.6 + * @since 0.8.7 */ static String toASCII(String host) throws IllegalArgumentException { host = host.toLowerCase(); @@ -159,7 +159,7 @@ public class AddressBean return host; } - /** @since 0.8.6 */ + /** @since 0.8.7 */ public String getB32() { byte[] dest = Base64.decode(destination); @@ -169,12 +169,12 @@ public class AddressBean return Base32.encode(hash) + ".b32.i2p"; } - /** @since 0.8.6 */ + /** @since 0.8.7 */ public void setProperties(Properties p) { props = p; } - /** @since 0.8.6 */ + /** @since 0.8.7 */ public String getSource() { String rv = getProp("s"); if (rv.startsWith("http://")) @@ -182,25 +182,25 @@ public class AddressBean return rv; } - /** @since 0.8.6 */ + /** @since 0.8.7 */ public String getAdded() { return getDate("a"); } - /** @since 0.8.6 */ + /** @since 0.8.7 */ public String getModded() { return getDate("m"); } - /** @since 0.8.6 */ + /** @since 0.8.7 */ public String getNotes() { return getProp("notes"); } /** * Do this the easy way - * @since 0.8.6 + * @since 0.8.7 */ public String getCert() { // (4 / 3) * (pubkey length + signing key length) @@ -224,7 +224,7 @@ public class AddressBean } } - /** @since 0.8.6 */ + /** @since 0.8.7 */ private String getProp(String p) { if (props == null) return ""; @@ -232,7 +232,7 @@ public class AddressBean return rv != null ? rv : ""; } - /** @since 0.8.6 */ + /** @since 0.8.7 */ private String getDate(String key) { String d = getProp(key); if (d.length() > 0) { diff --git a/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java b/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java index 0738984a3..9aa327c05 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java @@ -443,7 +443,7 @@ public class AddressbookBean /** * @return beginning index into results - * @since 0.8.6 + * @since 0.8.7 */ public String getResultBegin() { return isPrefiltered() ? "0" : Integer.toString(getBeginInt()); @@ -465,7 +465,7 @@ public class AddressbookBean /** * @return ending index into results - * @since 0.8.6 + * @since 0.8.7 */ public String getResultEnd() { return Integer.toString(isPrefiltered() ? resultSize() - 1 : getEndInt()); @@ -480,7 +480,7 @@ public class AddressbookBean /** * Does the entries map contain only the lookup result, * or must we index into it? - * @since 0.8.6 + * @since 0.8.7 */ protected boolean isPrefiltered() { return false; @@ -488,7 +488,7 @@ public class AddressbookBean /** * @return the size of the lookup result - * @since 0.8.6 + * @since 0.8.7 */ protected int resultSize() { return entries.length; @@ -496,7 +496,7 @@ public class AddressbookBean /** * @return the total size of the address book - * @since 0.8.6 + * @since 0.8.7 */ protected int totalSize() { return entries.length; @@ -517,7 +517,7 @@ public class AddressbookBean return Messages.getString(s, o, o2); } - /** translate (ngettext) @since 0.8.6 */ + /** translate (ngettext) @since 0.8.7 */ protected static String ngettext(String s, String p, int n) { return Messages.getString(n, s, p); } diff --git a/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java b/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java index a5fc53218..c3c9ead6b 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/FormatDate.java @@ -8,7 +8,7 @@ import net.i2p.I2PAppContext; /** * Format a date in local time zone - * @since 0.8.6 + * @since 0.8.7 */ public abstract class FormatDate { diff --git a/apps/susidns/src/java/src/i2p/susi/dns/Messages.java b/apps/susidns/src/java/src/i2p/susi/dns/Messages.java index 7d35e80f0..f1dba7653 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/Messages.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/Messages.java @@ -32,7 +32,7 @@ public class Messages { return Translate.getString(s, o, o2, I2PAppContext.getGlobalContext(), BUNDLE_NAME); } - /** translate (ngettext) @since 0.8.6 */ + /** translate (ngettext) @since 0.8.7 */ public static String getString(int n, String s, String p) { return Translate.getString(n, s, p, I2PAppContext.getGlobalContext(), BUNDLE_NAME); } diff --git a/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java b/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java index c2bc2453c..15c9cfebb 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * @since 0.8.6 + * @since 0.8.7 */ package i2p.susi.dns; @@ -41,7 +41,7 @@ import net.i2p.data.Destination; * Talk to the NamingService API instead of modifying the hosts.txt files directly, * except for the 'published' addressbook. * - * @since 0.8.6 + * @since 0.8.7 */ public class NamingServiceBean extends AddressbookBean { diff --git a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java index f587c643d..cd00197bd 100644 --- a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java +++ b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java @@ -70,6 +70,8 @@ import net.metanotion.util.skiplist.SkipList; * * * All host names are converted to lower case. + * + * @since 0.8.7 */ public class BlockfileNamingService extends DummyNamingService { diff --git a/core/java/src/net/i2p/client/naming/DummyNamingService.java b/core/java/src/net/i2p/client/naming/DummyNamingService.java index ea79cd04c..69c3dcb32 100644 --- a/core/java/src/net/i2p/client/naming/DummyNamingService.java +++ b/core/java/src/net/i2p/client/naming/DummyNamingService.java @@ -86,7 +86,7 @@ class DummyNamingService extends NamingService { } } - /** @since 0.8.5 */ + /** @since 0.8.7 */ protected static void removeCache(String s) { synchronized (_cache) { _cache.remove(s); diff --git a/core/java/src/net/i2p/client/naming/MetaNamingService.java b/core/java/src/net/i2p/client/naming/MetaNamingService.java index 7dfed6c30..7227b1adc 100644 --- a/core/java/src/net/i2p/client/naming/MetaNamingService.java +++ b/core/java/src/net/i2p/client/naming/MetaNamingService.java @@ -49,7 +49,7 @@ public class MetaNamingService extends DummyNamingService { /** * @param services if non-null, services to be added. If null, this will only handle b32 and b64, * until addNamingService() is called later. - * @since 0.8.5 + * @since 0.8.7 */ public MetaNamingService(I2PAppContext context, List services) { super(context); diff --git a/core/java/src/net/i2p/client/naming/NamingService.java b/core/java/src/net/i2p/client/naming/NamingService.java index cb8620cfe..efc271188 100644 --- a/core/java/src/net/i2p/client/naming/NamingService.java +++ b/core/java/src/net/i2p/client/naming/NamingService.java @@ -97,7 +97,7 @@ public abstract class NamingService { /** * @return Class simple name by default - * @since 0.8.5 + * @since 0.8.7 */ public String getName() { return getClass().getSimpleName(); @@ -105,7 +105,7 @@ public abstract class NamingService { /** * @return NamingService-specific options or null - * @since 0.8.5 + * @since 0.8.7 */ public Properties getConfiguration() { return null; @@ -113,7 +113,7 @@ public abstract class NamingService { /** * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean setConfiguration(Properties p) { return true; @@ -123,7 +123,7 @@ public abstract class NamingService { /** * @return chained naming services or null - * @since 0.8.5 + * @since 0.8.7 */ public List getNamingServices() { return null; @@ -131,7 +131,7 @@ public abstract class NamingService { /** * @return parent naming service or null if this is the root - * @since 0.8.5 + * @since 0.8.7 */ public NamingService getParent() { return null; @@ -158,7 +158,7 @@ public abstract class NamingService { /** * Only for chaining-capable NamingServices * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean removeNamingService(NamingService ns) { return false; @@ -170,7 +170,7 @@ public abstract class NamingService { /** * @return number of entries or -1 if unknown - * @since 0.8.5 + * @since 0.8.7 */ public int size() { return size(null); @@ -179,7 +179,7 @@ public abstract class NamingService { /** * @param options NamingService-specific, can be null * @return number of entries (matching the options if non-null) or -1 if unknown - * @since 0.8.5 + * @since 0.8.7 */ public int size(Properties options) { return -1; @@ -189,7 +189,7 @@ public abstract class NamingService { * @return all mappings * or empty Map if none; * Returned Map is not necessarily sorted, implementation dependent - * @since 0.8.5 + * @since 0.8.7 */ public Map getEntries() { return getEntries(null); @@ -200,7 +200,7 @@ public abstract class NamingService { * @return all mappings (matching the options if non-null) * or empty Map if none; * Returned Map is not necessarily sorted, implementation dependent - * @since 0.8.5 + * @since 0.8.7 */ public Map getEntries(Properties options) { return Collections.EMPTY_MAP; @@ -212,7 +212,7 @@ public abstract class NamingService { * @return all mappings (matching the options if non-null) * or empty Map if none; * Returned Map is not necessarily sorted, implementation dependent - * @since 0.8.5 + * @since 0.8.7 */ public Map getBase64Entries(Properties options) { return Collections.EMPTY_MAP; @@ -222,7 +222,7 @@ public abstract class NamingService { * @return all known host names * or empty Set if none; * Returned Set is not necessarily sorted, implementation dependent - * @since 0.8.5 + * @since 0.8.7 */ public Set getNames() { return getNames(null); @@ -233,7 +233,7 @@ public abstract class NamingService { * @return all known host names (matching the options if non-null) * or empty Set if none; * Returned Set is not necessarily sorted, implementation dependent - * @since 0.8.5 + * @since 0.8.7 */ public Set getNames(Properties options) { return Collections.EMPTY_SET; @@ -241,7 +241,7 @@ public abstract class NamingService { /** * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean put(String hostname, Destination d) { return put(hostname, d, null); @@ -250,7 +250,7 @@ public abstract class NamingService { /** * @param options NamingService-specific, can be null * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean put(String hostname, Destination d, Properties options) { return false; @@ -259,7 +259,7 @@ public abstract class NamingService { /** * Fails if entry previously exists * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean putIfAbsent(String hostname, Destination d) { return putIfAbsent(hostname, d, null); @@ -269,7 +269,7 @@ public abstract class NamingService { * Fails if entry previously exists * @param options NamingService-specific, can be null * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean putIfAbsent(String hostname, Destination d, Properties options) { return false; @@ -278,7 +278,7 @@ public abstract class NamingService { /** * @param options NamingService-specific, can be null * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean putAll(Map entries, Properties options) { boolean rv = true; @@ -294,7 +294,7 @@ public abstract class NamingService { * @param d may be null if only options are changing * @param options NamingService-specific, can be null * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean update(String hostname, Destination d, Properties options) { return false; @@ -302,7 +302,7 @@ public abstract class NamingService { /** * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean remove(String hostname) { return remove(hostname, null); @@ -311,7 +311,7 @@ public abstract class NamingService { /** * @param options NamingService-specific, can be null * @return success - * @since 0.8.5 + * @since 0.8.7 */ public boolean remove(String hostname, Properties options) { return false; @@ -320,7 +320,7 @@ public abstract class NamingService { /** * Ask any registered updaters to update now * @param options NamingService- or updater-specific, may be null - * @since 0.8.5 + * @since 0.8.7 */ public void requestUpdate(Properties options) { for (NamingServiceUpdater nsu : _updaters) { @@ -329,28 +329,28 @@ public abstract class NamingService { } /** - * @since 0.8.5 + * @since 0.8.7 */ public void registerListener(NamingServiceListener nsl) { _listeners.add(nsl); } /** - * @since 0.8.5 + * @since 0.8.7 */ public void unregisterListener(NamingServiceListener nsl) { _listeners.remove(nsl); } /** - * @since 0.8.6 + * @since 0.8.7 */ public void registerUpdater(NamingServiceUpdater nsu) { _updaters.add(nsu); } /** - * @since 0.8.6 + * @since 0.8.7 */ public void unregisterUpdater(NamingServiceUpdater nsu) { _updaters.remove(nsu); @@ -363,7 +363,7 @@ public abstract class NamingService { * @param lookupOptions input parameter, NamingService-specific, can be null * @param storedOptions output parameter, NamingService-specific, any stored properties will be added if non-null * @return dest or null - * @since 0.8.5 + * @since 0.8.7 */ public abstract Destination lookup(String hostname, Properties lookupOptions, Properties storedOptions); @@ -371,7 +371,7 @@ public abstract class NamingService { * Same as reverseLookup(dest) but with options * @param options NamingService-specific, can be null * @return host name or null - * @since 0.8.5 + * @since 0.8.7 */ public String reverseLookup(Destination d, Properties options) { return null; @@ -383,7 +383,7 @@ public abstract class NamingService { * @param hostname must be {52 chars}.b32.i2p * @param timeout in seconds; <= 0 means use router default * @return dest or null - * @since 0.8.5 + * @since 0.8.7 */ public Destination lookupBase32(String hostname, int timeout) { return null; @@ -393,7 +393,7 @@ public abstract class NamingService { * Same as lookupB32 but with the SHA256 Hash precalculated * @param timeout in seconds; <= 0 means use router default * @return dest or null - * @since 0.8.5 + * @since 0.8.7 */ public Destination lookup(Hash hash, int timeout) { return null; @@ -403,7 +403,7 @@ public abstract class NamingService { * Parent will call when added. * If this is the root naming service, the core will start it. * Should not be called by others. - * @since 0.8.5 + * @since 0.8.7 */ public void start() {} @@ -411,7 +411,7 @@ public abstract class NamingService { * Parent will call when removed. * If this is the root naming service, the core will stop it. * Should not be called by others. - * @since 0.8.5 + * @since 0.8.7 */ public void shutdown() {} diff --git a/core/java/src/net/i2p/client/naming/NamingServiceListener.java b/core/java/src/net/i2p/client/naming/NamingServiceListener.java index 92bb88f82..0f29f474b 100644 --- a/core/java/src/net/i2p/client/naming/NamingServiceListener.java +++ b/core/java/src/net/i2p/client/naming/NamingServiceListener.java @@ -5,7 +5,7 @@ import java.util.Properties; import net.i2p.data.Destination; /** - * @since 0.8.6 + * @since 0.8.7 */ public interface NamingServiceListener { diff --git a/core/java/src/net/i2p/client/naming/NamingServiceUpdater.java b/core/java/src/net/i2p/client/naming/NamingServiceUpdater.java index c1bc66327..6c2242bbe 100644 --- a/core/java/src/net/i2p/client/naming/NamingServiceUpdater.java +++ b/core/java/src/net/i2p/client/naming/NamingServiceUpdater.java @@ -3,7 +3,7 @@ package net.i2p.client.naming; import java.util.Properties; /** - * @since 0.8.6 + * @since 0.8.7 */ public interface NamingServiceUpdater { diff --git a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java index b27a8c033..baa8b9073 100644 --- a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java +++ b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java @@ -47,7 +47,7 @@ import net.i2p.util.SecureFileOutputStream; * Use from HostsTxtNamingService or chain with another NamingService * via MetaNamingService if you need those features. * - * @since 0.8.5 + * @since 0.8.7 */ public class SingleFileNamingService extends NamingService { diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java index 29dd9a838..3d6b36779 100644 --- a/core/java/src/net/i2p/data/DataHelper.java +++ b/core/java/src/net/i2p/data/DataHelper.java @@ -165,7 +165,7 @@ public class DataHelper { * Use utf8 = true for SessionConfig (slow, UTF-8) * @param props source may be null * @param sort should we sort the properties? (set to false if already sorted, e.g. OrderedProperties) - * @since 0.8.6 + * @since 0.8.7 */ public static void writeProperties(OutputStream rawStream, Properties props, boolean utf8, boolean sort) throws DataFormatException, IOException { diff --git a/core/java/src/net/i2p/stat/StatManager.java b/core/java/src/net/i2p/stat/StatManager.java index 55bc234c2..870f8fc05 100644 --- a/core/java/src/net/i2p/stat/StatManager.java +++ b/core/java/src/net/i2p/stat/StatManager.java @@ -89,7 +89,7 @@ public class StatManager { * @param description simple description of the statistic * @param group used to group statistics together * @param periods array of period lengths (in milliseconds) - * @since 0.8.6 + * @since 0.8.7 */ public void createRequiredFrequencyStat(String name, String description, String group, long periods[]) { if (_frequencyStats.containsKey(name)) return; @@ -118,7 +118,7 @@ public class StatManager { * @param description simple description of the statistic * @param group used to group statistics together * @param periods array of period lengths (in milliseconds) - * @since 0.8.6 + * @since 0.8.7 */ public void createRequiredRateStat(String name, String description, String group, long periods[]) { if (_rateStats.containsKey(name)) return; diff --git a/core/java/src/net/i2p/util/EepPost.java b/core/java/src/net/i2p/util/EepPost.java index 2e7836f62..485c9a4ab 100644 --- a/core/java/src/net/i2p/util/EepPost.java +++ b/core/java/src/net/i2p/util/EepPost.java @@ -17,6 +17,7 @@ import net.i2p.I2PAppContext; /** * Simple helper for uploading files and such via HTTP POST (rfc 1867) * + * @deprecated unused */ public class EepPost { private I2PAppContext _context; @@ -209,10 +210,10 @@ public class EepPost { } private String getSeparator() { - if (false) - return "ABCDEFG"; - if (false) - return "------------------------" + new java.util.Random().nextLong(); + //if (false) + // return "ABCDEFG"; + //if (false) + // return "------------------------" + new java.util.Random().nextLong(); byte separator[] = new byte[32]; // 2^-128 chance of this being a problem I2PAppContext.getGlobalContext().random().nextBytes(separator); StringBuilder sep = new StringBuilder(48); diff --git a/core/java/src/net/i2p/util/HTTPSendData.java b/core/java/src/net/i2p/util/HTTPSendData.java index 6bf9b8495..9991ede29 100644 --- a/core/java/src/net/i2p/util/HTTPSendData.java +++ b/core/java/src/net/i2p/util/HTTPSendData.java @@ -75,6 +75,7 @@ public class HTTPSendData { } } +/**** public static void main(String args[]) { byte data[] = new byte[4096]; for (int i = 0; i < data.length; i++) @@ -88,4 +89,5 @@ public class HTTPSendData { } catch (InterruptedException ie) { // nop } } +****/ }