Package net.i2p.router.transport.ntcp
Class InboundEstablishState
- java.lang.Object
-
- net.i2p.router.transport.ntcp.EstablishBase
-
- net.i2p.router.transport.ntcp.InboundEstablishState
-
- All Implemented Interfaces:
EstablishState,NTCP2Payload.PayloadCallback
class InboundEstablishState extends EstablishBase implements NTCP2Payload.PayloadCallback
NTCP 2. We are Bob.- Since:
- 0.9.35 pulled out of EstablishState
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.i2p.router.transport.ntcp.EstablishBase
EstablishBase.State
-
-
Field Summary
-
Fields inherited from class net.i2p.router.transport.ntcp.EstablishBase
_con, _context, _curDecrypted, _e_bobSig, _e_hXY_tsB, _hX_xor_bobIdentHash, _log, _peerSkew, _prevEncrypted, _received, _state, _stateLock, _transport, _tsA, _tsB, _X, _Y, AES_SIZE, FAILED, HXY_SIZE, HXY_TSB_PAD_SIZE, MAX_RI_SIZE, MIN_RI_SIZE, STATES_DONE, VERIFIED, XY_SIZE
-
-
Constructor Summary
Constructors Constructor Description InboundEstablishState(RouterContext ctx, NTCPTransport transport, NTCPConnection con)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfail(String reason, Exception e, boolean bySkew)Caller must synch.intgetVersion()Get the NTCP versionvoidgotDateTime(long time)voidgotI2NP(I2NPMessage msg)voidgotOptions(byte[] options, boolean isHandshake)voidgotPadding(int paddingLength, int frameLength)For stats.voidgotRI(RouterInfo ri, boolean isHandshake, boolean flood)Get "s" static key out of RI, compare to what we got in the handshake.voidgotTermination(int reason, long lastReceived)voidgotUnknown(int type, int len)voidreceive(ByteBuffer src)Parse the contents of the buffer as part of the handshake.protected voidreleaseBufs(boolean isVerified)Only call once.-
Methods inherited from class net.i2p.router.transport.ntcp.EstablishBase
_x, changeState, close, fail, fail, isComplete, isCorrupt, prefix, prepareOutbound, toString, xor32
-
-
-
-
Constructor Detail
-
InboundEstablishState
public InboundEstablishState(RouterContext ctx, NTCPTransport transport, NTCPConnection con)
-
-
Method Detail
-
receive
public void receive(ByteBuffer src)
Parse the contents of the buffer as part of the handshake. All data must be copied out of the buffer as Reader.processRead() will return it to the pool. If there are additional data in the buffer after the handshake is complete, the EstablishState is responsible for passing it to NTCPConnection.- Specified by:
receivein interfaceEstablishState- Overrides:
receivein classEstablishBase
-
getVersion
public int getVersion()
Get the NTCP version- Specified by:
getVersionin interfaceEstablishState- Specified by:
getVersionin classEstablishBase- Returns:
- 1, 2, or 0 if unknown
- Since:
- 0.9.35
-
gotRI
public void gotRI(RouterInfo ri, boolean isHandshake, boolean flood) throws DataFormatException
Get "s" static key out of RI, compare to what we got in the handshake. Tell NTCPConnection who it is.- Specified by:
gotRIin interfaceNTCP2Payload.PayloadCallback- Parameters:
isHandshake- always trueri- will already be validated- Throws:
DataFormatException- on bad sig, unknown SigType, no static key, static key mismatch, IP checks in verifyInbound()- Since:
- 0.9.36
-
gotOptions
public void gotOptions(byte[] options, boolean isHandshake)- Specified by:
gotOptionsin interfaceNTCP2Payload.PayloadCallbackisHandshake- true only for message 3 part 2- Since:
- 0.9.36
-
gotPadding
public void gotPadding(int paddingLength, int frameLength)Description copied from interface:NTCP2Payload.PayloadCallbackFor stats.- Specified by:
gotPaddingin interfaceNTCP2Payload.PayloadCallback- Parameters:
paddingLength- the number of padding bytes, not including the 3-byte block headerframeLength- the total size of the frame, including all blocks and block headers- Since:
- 0.9.36
-
gotTermination
public void gotTermination(int reason, long lastReceived)- Specified by:
gotTerminationin interfaceNTCP2Payload.PayloadCallbacklastReceived- in theory could wrap around to negative, but very unlikely- Since:
- 0.9.36
-
gotUnknown
public void gotUnknown(int type, int len)- Specified by:
gotUnknownin interfaceNTCP2Payload.PayloadCallback- Since:
- 0.9.36
-
gotDateTime
public void gotDateTime(long time)
- Specified by:
gotDateTimein interfaceNTCP2Payload.PayloadCallback- Since:
- 0.9.36
-
gotI2NP
public void gotI2NP(I2NPMessage msg)
- Specified by:
gotI2NPin interfaceNTCP2Payload.PayloadCallback- Since:
- 0.9.36
-
fail
protected void fail(String reason, Exception e, boolean bySkew)
Description copied from class:EstablishBaseCaller must synch.- Overrides:
failin classEstablishBase- Since:
- 0.9.16
-
releaseBufs
protected void releaseBufs(boolean isVerified)
Only call once. Caller must synch.- Overrides:
releaseBufsin classEstablishBase- Since:
- 0.9.16
-
-