Class DCCClientManager

java.lang.Object
net.i2p.i2ptunnel.irc.EventReceiver
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 Details

  • Method Details

    • 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