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    }