org.alliance.core.comm
Class NetworkManager

java.lang.Object
  extended by org.alliance.core.Manager
      extended by org.alliance.core.comm.NetworkManager

public class NetworkManager
extends Manager

Created by IntelliJ IDEA. User: maciek Date: 2005-dec-26 Time: 11:38:32 To change this template use File | Settings | File Templates.


Field Summary
protected  BandwidthAnalyzer bandwidthIn
           
protected  BandwidthAnalyzer bandwidthOut
           
static boolean DIRECTLY_CALL_READYTOSEND
           
 
Constructor Summary
NetworkManager(CoreSubsystem core, Settings settings)
           
 
Method Summary
 void addConnection(java.lang.Object key, Connection connection)
           
 void blockConnectionsTemporarilyFrom(Connection connection)
           
 void broadcast(RPC rpc)
           
 void bytesReceived(int n)
           
 void bytesSent(int sent)
           
 void closed(Connection c)
           
 void connect(int dstGuid, AuthenticatedConnection connection)
           
 void connect(java.lang.String host, int port, AuthenticatedConnection connection)
           
 java.util.Collection<Connection> connections()
           
 boolean contains(java.lang.Object key)
           
 Packet createPacketForReceive()
           
 Packet createPacketForSend()
           
 BandwidthAnalyzer getBandwidthIn()
           
 BandwidthAnalyzer getBandwidthOut()
           
 Connection getConnection(java.lang.Object key)
           
 CoreSubsystem getCore()
           
 DownloadManager getDownloadManager()
           
 FriendManager getFriendManager()
           
 int getNConnectionsOfType(java.lang.Class<? extends Connection> clazz)
           
 TCPNIONetworkLayer getNetworkLayer()
           
 Router getPackageRouter()
           
 int getServerPort()
           
 java.net.Socket getSocketFor(Connection connection)
           
 BandwidthThrottle getUploadThrottle()
           
 void init()
           
 void invokeLater(java.lang.Runnable runnable)
           
 boolean isAddressBlocked(java.net.InetAddress a)
           
 boolean isAlive()
           
 void load(java.io.ObjectInputStream in)
           
 void noInterestToSend(Connection c)
           
 Connection replaceConnection(java.lang.Object key, Connection connection)
           
 void reportError(java.lang.String source, java.lang.Object key, java.lang.Exception e)
           
 void route(int dstGuid, RPC rpc)
           
 void save(java.io.ObjectOutputStream out)
           
 void sendPersistantly(PersistantRPC rpc, Friend destination)
          Send a PersistantRPC to a friend.
 void sendSearch(java.lang.String text, FileType ft)
           
 void sendToAllFriends(RPC rpc)
           
 void shutdown()
           
 void signalFriendConnected(Friend friend)
           
 void signalInterestToSend(Connection c)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIRECTLY_CALL_READYTOSEND

public static final boolean DIRECTLY_CALL_READYTOSEND
See Also:
Constant Field Values

bandwidthIn

protected BandwidthAnalyzer bandwidthIn

bandwidthOut

protected BandwidthAnalyzer bandwidthOut
Constructor Detail

NetworkManager

public NetworkManager(CoreSubsystem core,
                      Settings settings)
               throws java.io.IOException
Throws:
java.io.IOException
Method Detail

init

public void init()
          throws java.io.IOException
Specified by:
init in class Manager
Throws:
java.io.IOException

shutdown

public void shutdown()
              throws java.io.IOException
Throws:
java.io.IOException

getFriendManager

public FriendManager getFriendManager()

bytesReceived

public void bytesReceived(int n)

bytesSent

public void bytesSent(int sent)

reportError

public void reportError(java.lang.String source,
                        java.lang.Object key,
                        java.lang.Exception e)

closed

public void closed(Connection c)

replaceConnection

public Connection replaceConnection(java.lang.Object key,
                                    Connection connection)

createPacketForSend

public Packet createPacketForSend()

createPacketForReceive

public Packet createPacketForReceive()

connect

public void connect(int dstGuid,
                    AuthenticatedConnection connection)
             throws java.io.IOException
Throws:
java.io.IOException

connect

public void connect(java.lang.String host,
                    int port,
                    AuthenticatedConnection connection)
             throws java.io.IOException
Throws:
java.io.IOException

connections

public java.util.Collection<Connection> connections()

addConnection

public void addConnection(java.lang.Object key,
                          Connection connection)

contains

public boolean contains(java.lang.Object key)

getConnection

public Connection getConnection(java.lang.Object key)

isAlive

public boolean isAlive()

getServerPort

public int getServerPort()

sendToAllFriends

public void sendToAllFriends(RPC rpc)
                      throws java.io.IOException
Throws:
java.io.IOException

broadcast

public void broadcast(RPC rpc)
               throws java.io.IOException
Throws:
java.io.IOException

getSocketFor

public java.net.Socket getSocketFor(Connection connection)

getPackageRouter

public Router getPackageRouter()

route

public void route(int dstGuid,
                  RPC rpc)
           throws java.io.IOException
Throws:
java.io.IOException

sendSearch

public void sendSearch(java.lang.String text,
                       FileType ft)
                throws java.io.IOException
Throws:
java.io.IOException

getDownloadManager

public DownloadManager getDownloadManager()

getNetworkLayer

public TCPNIONetworkLayer getNetworkLayer()

signalInterestToSend

public void signalInterestToSend(Connection c)
                          throws java.io.IOException
Throws:
java.io.IOException

noInterestToSend

public void noInterestToSend(Connection c)

invokeLater

public void invokeLater(java.lang.Runnable runnable)

getBandwidthIn

public BandwidthAnalyzer getBandwidthIn()

getBandwidthOut

public BandwidthAnalyzer getBandwidthOut()

getCore

public CoreSubsystem getCore()

getNConnectionsOfType

public int getNConnectionsOfType(java.lang.Class<? extends Connection> clazz)

getUploadThrottle

public BandwidthThrottle getUploadThrottle()

blockConnectionsTemporarilyFrom

public void blockConnectionsTemporarilyFrom(Connection connection)

isAddressBlocked

public boolean isAddressBlocked(java.net.InetAddress a)

sendPersistantly

public void sendPersistantly(PersistantRPC rpc,
                             Friend destination)
                      throws java.io.IOException
Send a PersistantRPC to a friend. Friend might be offline. The RPC is then queued and saved in a persistant queue. One the friend goes online the RPC will be sent.

Parameters:
rpc -
destination -
Throws:
java.io.IOException

save

public void save(java.io.ObjectOutputStream out)
          throws java.io.IOException
Throws:
java.io.IOException

load

public void load(java.io.ObjectInputStream in)
          throws java.io.IOException
Throws:
java.io.IOException

signalFriendConnected

public void signalFriendConnected(Friend friend)