# Deprecated API

## Contents

- Deprecated Classes
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors

- Deprecated Classes
  Class and Description
  net.i2p.util.BufferedRandomSource Unused! See FortunaRandomSource
  net.i2p.client.streaming.ByteCollector Only used by deprecated I2PSocketImpl
  net.i2p.util.CachingByteArrayOutputStream unused
  net.i2p.client.naming.EepGetAndAddNamingService use HostsTxtNamingService.put()
  net.i2p.util.EepGetScheduler unused a webapp version would be nice though
  net.i2p.util.EepPost unused
  net.i2p.router.tunnel.HashSetIVValidator unused
  net.i2p.util.HTTPSendData unused
  net.i2p.client.streaming.I2PServerSocketImpl use I2PServerSocketFull
  net.i2p.client.streaming.I2PSocketImpl use I2PSocketFull
  net.i2p.client.streaming.I2PSocketManagerImpl use I2PSocketManagerFull
  net.i2p.util.PooledRandomSource Unused! See FortunaRandomSource
  net.i2p.router.RouterDoSThrottle unused
  net.i2p.router.tunnel.TrivialRouterPreprocessor unused

- Deprecated Fields
  Field and Description
  net.i2p.data.DataHelper.BOOLEAN_LENGTH unused
  net.i2p.data.DataHelper.BOOLEAN_UNKNOWN unused
  net.i2p.router.Router.CAPABILITY_NEW_TUNNEL unused

- Deprecated Methods
  Method and Description
  net.i2p.router.RouterThrottleImpl.acceptNetDbLookupRequest(Hash) unused, function moved to netdb
  net.i2p.crypto.CryptixAESKeyCache.acquireKey() unused, keys are now cached in the SessionKey objects
  net.i2p.router.transport.udp.UDPSender.add(UDPPacket, int) use add(packet)
  net.i2p.router.JobImpl.addedToQueue() As of 0.8.1, this is a noop, as it just adds classes to the log manager class list for no good reason. Logging in jobs is almost always set explicitly rather than by class name.
  net.i2p.util.InternalServerSocket.bind(SocketAddress) unsupported
  net.i2p.util.InternalSocket.bind(SocketAddress) unsupported
  net.i2p.util.InternalServerSocket.bind(SocketAddress, int) unsupported
  net.i2p.crypto.HMACGenerator.calculate(SessionKey, byte[]) unused
  net.i2p.router.networkdb.kademlia.LocalHash.clearXorCache() unused
  org.klomp.snark.Peer.compareTo(Object) unused?
  org.klomp.snark.PeerID.compareTo(Object) unused? and will NPE now that address can be null?
  net.i2p.util.InternalSocket.connect(SocketAddress) unsupported
  net.i2p.util.InternalSocket.connect(SocketAddress, int) unsupported
  net.i2p.client.I2PSimpleClient.createDestination(OutputStream) Don't do this
  net.i2p.client.I2PSimpleClient.createDestination(OutputStream, Certificate) or this
  net.i2p.router.tunnel.HopProcessor.createValidator() unused
  net.i2p.crypto.ElGamalAESEngine.decrypt(byte[], PrivateKey) specify the key manager!
  net.i2p.i2ptunnel.I2PTunnel.destFromName(String) Don't use i2ptunnel for lookup! Use I2PAppContext.getGlobalContext().namingService().lookup(name) from i2p.jar
  net.i2p.internal.PoisonI2CPMessage.doReadMessage(InputStream, int) don't do this
  net.i2p.util.NativeBigInteger.doubleValue() unused, does not call native
  net.i2p.internal.PoisonI2CPMessage.doWriteMessage() don't do this
  net.i2p.crypto.ElGamalAESEngine.encrypt(byte[], PublicKey, SessionKey, long) unused
  net.i2p.crypto.ElGamalAESEngine.encrypt(byte[], PublicKey, SessionKey, Set, long) unused
  net.i2p.data.DataHelper.eq(byte, byte) inefficient
  net.i2p.data.DataHelper.eq(int, int) inefficient
  net.i2p.data.DataHelper.eq(long, long) inefficient
  net.i2p.util.ShellCommand.execute(String) unused
  net.i2p.util.ShellCommand.executeAndWait(String) unused
  net.i2p.util.ShellCommand.executeAndWaitTimed(String, int) unused
  net.i2p.util.ShellCommand.executeSilent(String) unused
  net.i2p.crypto.TransientSessionKeyManager.failTags(PublicKey) unused and rather drastic
  net.i2p.data.DataHelper.fromBoolean(byte[], int) unused
  net.i2p.router.JobImpl.getAddedBy()
  net.i2p.router.peermanager.DBHistory.getAvgDelayBetweenLookupsReceived() unused
  net.i2p.util.InternalServerSocket.getChannel() unsupported
  net.i2p.util.InternalSocket.getChannel() unsupported
  net.i2p.data.RouterAddress.getExpiration() unused for now
  net.i2p.router.peermanager.DBHistory.getFailedLookups() unused
  net.i2p.util.InternalServerSocket.getInetAddress() unsupported
  net.i2p.util.InternalSocket.getInetAddress() unsupported
  net.i2p.util.InternalSocket.getKeepAlive() unsupported
  net.i2p.client.streaming.PacketLocal.getKeyUsed() should always return null
  net.i2p.router.Router.getKillVMOnEnd() unused
  net.i2p.stat.Frequency.getLastEvent() unused
  net.i2p.router.peermanager.DBHistory.getLastLookupReceived() unused
  net.i2p.util.InternalSocket.getLocalAddress() unsupported
  net.i2p.util.InternalSocket.getLocalPort() unsupported
  net.i2p.util.InternalServerSocket.getLocalSocketAddress() unsupported
  net.i2p.util.InternalSocket.getLocalSocketAddress() unsupported
  net.i2p.router.peermanager.DBHistory.getLookupReplyDuplicate() unused
  net.i2p.router.peermanager.DBHistory.getLookupReplyInvalid() unused
  net.i2p.router.peermanager.DBHistory.getLookupReplyNew() unused
  net.i2p.router.peermanager.DBHistory.getLookupReplyOld() unused
  net.i2p.router.peermanager.DBHistory.getLookupsReceived() unused
  net.i2p.stat.Frequency.getMinAverageInterval() unused
  net.i2p.data.Lease.getNumFailure() unused
  net.i2p.data.Lease.getNumSuccess() unused
  net.i2p.util.InternalSocket.getOOBInline() unsupported
  net.i2p.data.RouterInfo.getPeers() Implemented here but unused elsewhere
  net.i2p.util.InternalSocket.getPort() unsupported
  net.i2p.util.InternalServerSocket.getReceiveBufferSize() unsupported
  net.i2p.util.InternalSocket.getReceiveBufferSize() unsupported
  net.i2p.client.streaming.ConnectionOptions.getReceiveWindow() This doesn't appear to be used.
  net.i2p.util.InternalSocket.getRemoteSocketAddress() unsupported
  net.i2p.util.InternalServerSocket.getReuseAddress() unsupported
  net.i2p.util.InternalSocket.getReuseAddress() unsupported
  net.i2p.util.InternalSocket.getSendBufferSize() unsupported
  net.i2p.data.LeaseSet.getSigningKey() unused
  net.i2p.util.InternalSocket.getSoLinger() unsupported
  net.i2p.router.peermanager.DBHistory.getSuccessfulLookups() unused
  net.i2p.client.streaming.PacketLocal.getTagsSent() should always return null or an empty set
  net.i2p.util.InternalSocket.getTcpNoDelay() unsupported
  net.i2p.router.OutNetMessage.getTimestamp(String) unused
  net.i2p.router.OutNetMessage.getTimestamps() unused
  net.i2p.util.InternalSocket.getTrafficClass() unsupported
  net.i2p.data.DataHelper.getUTF8(byte[]) unused
  net.i2p.data.DataHelper.getUTF8(byte[], int, int) unused
  net.i2p.data.DataHelper.getUTF8(StringBuffer) unused
  net.i2p.I2PAppContext.hmac256() used only by syndie
  net.i2p.util.InternalServerSocket.isBound() unsupported
  net.i2p.util.InternalSocket.isBound() unsupported
  net.i2p.util.InternalServerSocket.isClosed() unsupported
  net.i2p.util.InternalSocket.isConnected() unsupported
  net.i2p.util.InternalSocket.isInputShutdown() unsupported
  net.i2p.util.InternalSocket.isOutputShutdown() unsupported
  org.klomp.snark.PeerState.isRequesting(int) deadlocks
  org.klomp.snark.Peer.isRequesting(int) deadlocks
  net.i2p.data.i2cp.I2CPMessageReader.pauseReading() unused
  net.i2p.data.i2np.I2NPMessageReader.pauseReading() unused
  net.i2p.client.streaming.I2PSocketManagerImpl.ping(Destination, long) timeout is ignored - use I2PSocketManagerFull.ping()
  net.i2p.client.streaming.ConnectionManager.ping(Destination, long, boolean, SessionKey, Set, ConnectionManager.PingNotifier) I2PSession ignores tags, use non-tag variant
  net.i2p.data.DataHelper.readBoolean(InputStream) unused
  net.i2p.data.i2np.I2NPMessageImpl.readBytes(InputStream) Unused, why would you do this
  net.i2p.data.DataHelper.readLine(InputStream, StringBuffer) use StringBuilder version
  net.i2p.data.DataHelper.readLine(InputStream, StringBuffer, Sha256Standalone) use StringBuilder version
  net.i2p.data.i2np.I2NPMessageImpl.registerBuilder(I2NPMessageImpl.Builder, int) unused
  net.i2p.crypto.CryptixAESKeyCache.releaseKey(CryptixAESKeyCache.KeyCacheEntry) unused, keys are now cached in the SessionKey objects
  net.i2p.data.i2cp.RequestLeaseSetMessage.remoteEndpoint(int) unused - presumably he meant remove?
  net.i2p.router.web.SummaryRenderer.render(I2PAppContext, OutputStream, String) unsed
  net.i2p.router.web.StatSummarizer.renderPng(OutputStream, String) unused
  net.i2p.router.Shitlist.renderStatusHTML(Writer) moved to router console
  net.i2p.router.NetworkDatabaseFacade.renderStatusHTML(Writer) moved to router console
  net.i2p.router.client.ClientManager.renderStatusHTML(Writer) unused
  net.i2p.router.client.ClientManagerFacadeImpl.renderStatusHTML(Writer) unused
  net.i2p.router.peermanager.PeerManagerFacadeImpl.renderStatusHTML(Writer) moved to routerconsole
  net.i2p.router.transport.FIFOBandwidthLimiter.renderStatusHTML(Writer) not worth translating
  net.i2p.router.tunnel.TunnelDispatcher.renderStatusHTML(Writer) moved to router console
  net.i2p.router.tunnel.pool.TunnelPoolManager.renderStatusHTML(Writer) moved to routerconsole
  net.i2p.router.JobQueue.restart() do you really want to do this?
  net.i2p.data.i2cp.I2CPMessageReader.resumeReading() unused
  net.i2p.data.i2np.I2NPMessageReader.resumeReading() unused
  net.i2p.client.naming.NamingService.reverseLookup(Hash) unused
  net.i2p.router.peermanager.PeerManagerFacadeImpl.selectRandomByCapability(char) unused
  net.i2p.util.InternalSocket.sendUrgentData(int) unsupported
  net.i2p.util.LogManager.setConsoleBufferSize(int) unused
  net.i2p.util.LogManager.setDisplayOnScreen(boolean) unused
  net.i2p.util.LogManager.setDisplayOnScreenLevel(int) unused
  net.i2p.client.streaming.Connection.setHighestAckedThrough(long) unused
  org.klomp.snark.Peer.setInteresting(boolean) unused
  net.i2p.util.InternalSocket.setKeepAlive(boolean) unsupported
  net.i2p.client.streaming.PacketLocal.setKeyUsed(SessionKey) I2PSession throws out the tags
  net.i2p.data.Lease.setNumFailure(int) unused
  net.i2p.data.Lease.setNumSuccess(int) unused
  net.i2p.util.InternalSocket.setOOBInline(boolean) unsupported
  net.i2p.router.tunnel.pool.PooledTunnelCreatorConfig.setPairedTunnel(TunnelInfo) Fix memory leaks caused by references if you need to use pairedTunnel
  net.i2p.data.RouterInfo.setPeers(Set) Implemented here but unused elsewhere
  net.i2p.util.InternalServerSocket.setReceiveBufferSize(int) unsupported
  net.i2p.util.InternalSocket.setReceiveBufferSize(int) unsupported
  net.i2p.util.InternalServerSocket.setReuseAddress(boolean) unsupported
  net.i2p.util.InternalSocket.setReuseAddress(boolean) unsupported
  net.i2p.util.InternalSocket.setSendBufferSize(int) unsupported
  net.i2p.util.InternalSocket.setSoLinger(boolean, int) unsupported
  net.i2p.client.streaming.PacketLocal.setTagsSent(Set) I2PSession throws out the tags
  net.i2p.util.InternalSocket.setTcpNoDelay(boolean) unsupported
  net.i2p.router.tunnel.pool.PooledTunnelCreatorConfig.setTestJob(TestJob) unused, which makes _testJob unused - why is it here
  net.i2p.util.InternalSocket.setTrafficClass(int) unsupported
  net.i2p.util.InternalSocket.shutdownInput() unsupported
  net.i2p.util.InternalSocket.shutdownOutput() unsupported
  net.i2p.data.DataHelper.toBoolean(byte[], int, boolean) unused
  net.i2p.data.DataHelper.toBoolean(byte[], int, Boolean) unused
  net.i2p.data.DataHelper.toDate(Date) unused
  net.i2p.data.DataHelper.toProperties(byte[], int, Properties)
  net.i2p.data.LeaseSet.verifySignature(SigningPublicKey) revocation unused
  net.i2p.data.DataHelper.writeBoolean(OutputStream, Boolean) unused

- Deprecated Constructors
  Constructor and Description
  net.i2p.router.tunnel.HopProcessor(I2PAppContext, HopConfig) unused
  net.i2p.router.tunnel.InboundEndpointProcessor(RouterContext, TunnelCreatorConfig) unused