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