001 package net.minecraft.src;
002
003 import cpw.mods.fml.common.Side;
004 import cpw.mods.fml.common.asm.SideOnly;
005 import java.net.SocketAddress;
006
007 public interface INetworkManager
008 {
009 /**
010 * Sets the NetHandler for this NetworkManager. Server-only.
011 */
012 void setNetHandler(NetHandler var1);
013
014 /**
015 * Adds the packet to the correct send queue (chunk data packets go to a separate queue).
016 */
017 void addToSendQueue(Packet var1);
018
019 /**
020 * Wakes reader and writer threads
021 */
022 void wakeThreads();
023
024 /**
025 * Checks timeouts and processes all pending read packets.
026 */
027 void processReadPackets();
028
029 /**
030 * Return the InetSocketAddress of the remote endpoint
031 */
032 SocketAddress getSocketAddress();
033
034 /**
035 * Shuts down the server. (Only actually used on the server)
036 */
037 void serverShutdown();
038
039 /**
040 * returns 0 for memoryConnections
041 */
042 int packetSize();
043
044 /**
045 * Shuts down the network with the specified reason. Closes all streams and sockets, spawns NetworkMasterThread to
046 * stop reading and writing threads.
047 */
048 void networkShutdown(String var1, Object ... var2);
049
050 @SideOnly(Side.CLIENT)
051 void closeConnections();
052 }