net.i2p.i2ptunnel.irc
Class DCCClientManager

java.lang.Object
  extended by net.i2p.i2ptunnel.irc.EventReceiver
      extended by net.i2p.i2ptunnel.irc.DCCClientManager
All Implemented Interfaces:
EventDispatcher

public class DCCClientManager
extends EventReceiver

Start, track, and expire the I2PTunnelDCCClients.


                                            direct conn
                <---> I2PTunnelDCCServer <--------------->I2PTunnelDCCClient <---->
   originating                                                                     responding
   chat client                                                                     chat client
        CHAT    ---> I2PTunnelIRCClient --> IRC server --> I2TunnelIRCClient ----->
        SEND    ---> I2PTunnelIRCClient --> IRC server --> I2TunnelIRCClient ----->
        RESUME  <--- I2PTunnelIRCClient <-- IRC server <-- I2TunnelIRCClient <-----
        ACCEPT  ---> I2PTunnelIRCClient --> IRC server --> I2TunnelIRCClient ----->

 

Since:
0.8.9

Constructor Summary
DCCClientManager(I2PSocketManager sktMgr, Logging logging, EventDispatcher dispatch, I2PTunnel tunnel)
           
 
Method Summary
 int acceptIncoming(int port)
          An incoming ACCEPT response
 boolean close(boolean forced)
           
 int newIncoming(String b32, int port, String type)
          An incoming DCC request
 void notifyEvent(String eventName, Object args)
          The EventReceiver callback
 int resumeOutgoing(int port)
          An outgoing RESUME request
 
Methods inherited from class net.i2p.i2ptunnel.irc.EventReceiver
attachEventDispatcher, detachEventDispatcher, getEventDispatcher, getEvents, getEventValue, ignoreEvents, unIgnoreEvents, waitEventValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DCCClientManager

public DCCClientManager(I2PSocketManager sktMgr,
                        Logging logging,
                        EventDispatcher dispatch,
                        I2PTunnel tunnel)
Method Detail

close

public boolean close(boolean forced)

newIncoming

public int newIncoming(String b32,
                       int port,
                       String type)
An incoming DCC request

Parameters:
b32 - remote dcc server b32 address
port - remote dcc server I2P port
type - ignored
Returns:
local DCC client tunnel port or -1 on error

resumeOutgoing

public int resumeOutgoing(int port)
An outgoing RESUME request

Parameters:
port - local DCC client tunnel port
Returns:
remote DCC server i2p port or -1 on error

acceptIncoming

public int acceptIncoming(int port)
An incoming ACCEPT response

Parameters:
port - remote dcc server I2P port
Returns:
local DCC client tunnel port or -1 on error

notifyEvent

public void notifyEvent(String eventName,
                        Object args)
The EventReceiver callback

Specified by:
notifyEvent in interface EventDispatcher
Specified by:
notifyEvent in class EventReceiver
Parameters:
eventName - name of the event
args - data being stored for that event