create Makefile, remove source files that jad improperly decompiled
[rsa2client.git] / src / mcsClient / DatagramReader.java
diff --git a/src/mcsClient/DatagramReader.java b/src/mcsClient/DatagramReader.java
deleted file mode 100644 (file)
index 7a0c33c..0000000
+++ /dev/null
@@ -1,385 +0,0 @@
-// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
-// Jad home page: http://www.kpdus.com/jad.html
-// Decompiler options: packimports(3) fieldsfirst nonlb space 
-
-package mcsClient;
-
-import java.io.IOException;
-import java.net.*;
-import java.util.LinkedList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.JFrame;
-import javax.swing.JOptionPane;
-
-// Referenced classes of package mcsClient:
-//            BitMap, SecureDatagramSocket, McsTcpConnection, LiveVideoPanel, 
-//            McsToolBar
-
-public final class DatagramReader
-    implements Runnable {
-
-    public boolean videoLostSync;
-    private DatagramSocket dgSocket;
-    private McsTcpConnection mcsTcpConnection;
-    private LiveVideoPanel liveVideoPanel;
-    private LinkedList datagramList;
-    private static final boolean USE_MULTICAST = false;
-    public static final int DEFAULT_DIALIN_BITRATE;
-    public static final int DEFAULT_NET_BITRATE;
-    private long serverTime;
-    private long serverBaseTime;
-    private long clientTime;
-    private long clientBaseTime;
-    private boolean gotBaseTime;
-    private long skew;
-    private long upperSkew;
-    private long lowerSkew;
-    private long initialBitRate;
-    private long skewTime;
-    private boolean gotBeginningOfFrame;
-    private boolean gotInitialBitRate;
-    private boolean detectedPPP;
-    private int frameNumber;
-    private int maxSequenceNumber;
-    private int lastFrameNumber;
-    private long totalFrameSize;
-    private BitMap bitmap;
-    private boolean initialized;
-    private static int nakMessage[] = new int[4];
-    private McsToolBar sliderListener;
-    private int nakCount;
-    private static Logger logger = Logger.getAnonymousLogger();
-
-    public DatagramReader(McsTcpConnection mcstcpconnection, LiveVideoPanel livevideopanel, LinkedList linkedlist, String s, int i, boolean flag) {
-        videoLostSync = false;
-        serverBaseTime = 0L;
-        clientTime = 0L;
-        clientBaseTime = 0L;
-        gotBaseTime = false;
-        skew = 0L;
-        upperSkew = 150L;
-        lowerSkew = -10L;
-        initialBitRate = 0L;
-        skewTime = 225L;
-        gotBeginningOfFrame = false;
-        gotInitialBitRate = false;
-        detectedPPP = false;
-        maxSequenceNumber = 0;
-        lastFrameNumber = 0;
-        totalFrameSize = 0L;
-        bitmap = new BitMap();
-        initialized = true;
-        sliderListener = null;
-        nakCount = 0;
-        mcsTcpConnection = mcstcpconnection;
-        liveVideoPanel = livevideopanel;
-        datagramList = linkedlist;
-        logger.setLevel(Level.WARNING);
-        String s1 = System.getProperty("mcs.debug");
-        if (s1 != null && s1.equalsIgnoreCase("true"))
-            logger.setLevel(Level.ALL);
-        nakMessage[0] = nakMessage.length * 4;
-        nakMessage[1] = 5;
-        if (mcstcpconnection.getDetectedPPP() || flag) {
-            detectedPPP = true;
-            upperSkew = 150L;
-            lowerSkew = -30L;
-            skewTime = 2000L;
-        }
-        if (mcstcpconnection.videoEncrypted())
-            dgSocket = new SecureDatagramSocket(mcstcpconnection.cipher1, mcstcpconnection.cipher2, mcstcpconnection.getLocalPort());
-        else
-            dgSocket = new DatagramSocket(mcstcpconnection.getLocalPort());
-        dgSocket.setReceiveBufferSize(0x1f400);
-        dgSocket.setSoTimeout(500);
-        if (flag)
-            return;
-        try {
-            byte abyte0[] = new byte[10];
-            DatagramPacket datagrampacket = new DatagramPacket(abyte0, abyte0.length, InetAddress.getByName(s), i);
-            for (int j = 0; j < 6; j++) {
-                dgSocket.send(datagrampacket);
-                try {
-                    Thread.currentThread();
-                    Thread.sleep(60L);
-                }
-                catch (InterruptedException interruptedexception) { }
-            }
-
-            try {
-                Thread.currentThread();
-                Thread.sleep(200L);
-            }
-            catch (InterruptedException interruptedexception1) { }
-        }
-        catch (Exception exception) {
-            logger.severe(exception.toString());
-            initialized = false;
-            JOptionPane.showMessageDialog(new JFrame(), "Failed to connect.  Try again.", "Remote Console Datagram Reader Initialization Error", 0);
-        }
-        return;
-    }
-
-    private void cleanupThread() {
-        if (dgSocket != null) {
-            dgSocket.disconnect();
-            dgSocket.close();
-        }
-        dgSocket = null;
-        mcsTcpConnection = null;
-        liveVideoPanel = null;
-        datagramList = null;
-        initialized = false;
-    }
-
-    private void process() {
-        int l;
-        Thread thread;
-        l = 0;
-        boolean flag = false;
-        boolean flag1 = false;
-        boolean flag2 = false;
-        if (!initialized)
-            return;
-        thread = Thread.currentThread();
-          goto _L1
-_L22:
-        if (nakCount >= 25) {
-            logger.info("25 NAK messages sent");
-            nakCount = 0;
-        }
-        DatagramPacket datagrampacket;
-        byte abyte1[] = new byte[1500];
-        datagrampacket = new DatagramPacket(abyte1, abyte1.length);
-        dgSocket.receive(datagrampacket);
-          goto _L2
-        SocketTimeoutException sockettimeoutexception;
-        sockettimeoutexception;
-          goto _L1
-        IOException ioexception3;
-        ioexception3;
-        logger.warning("Datagram Reader - error reading datagram " + ioexception3);
-        return;
-_L2:
-        byte abyte0[];
-        int j;
-        abyte0 = datagrampacket.getData();
-        j = datagrampacket.getOffset();
-        if (datagrampacket.getLength() >= 24) goto _L3; else goto _L1
-_L3:
-        if (abyte0[j + 7] != 6) goto _L5; else goto _L4
-_L4:
-        videoLostSync = true;
-        gotBaseTime = false;
-        logger.info("DatagramReader: video lost sync");
-          goto _L1
-_L5:
-        videoLostSync = false;
-        frameNumber = (abyte0[j + 8] & 0xff) << 8 | abyte0[j + 9] & 0xff;
-        if (gotBeginningOfFrame) goto _L7; else goto _L6
-_L6:
-        if ((abyte0[j + 7] & 0xbf) != 0) goto _L8; else goto _L1
-_L8:
-        gotBeginningOfFrame = true;
-        lastFrameNumber = frameNumber - 1;
-        l = 128;
-        bitmap.clear();
-        bitmap.setBit(0);
-_L7:
-        int i;
-        i = (abyte0[j + 10] & 0xff) << 8 | abyte0[j + 11] & 0xff;
-        int i1 = (abyte0[j + 2] & 0xff) << 8 | abyte0[j + 3] & 0xff;
-        totalFrameSize += i1;
-        serverTime = ((long)abyte0[j + 20] & 255L) << 24 | ((long)abyte0[j + 21] & 255L) << 16 | ((long)abyte0[j + 22] & 255L) << 8 | (long)abyte0[j + 23] & 255L;
-        clientTime = System.currentTimeMillis();
-        if (gotBaseTime) goto _L10; else goto _L9
-_L9:
-        gotBaseTime = true;
-        serverBaseTime = serverTime;
-        clientBaseTime = clientTime;
-        totalFrameSize = 0L;
-          goto _L11
-_L10:
-        long l1;
-        skew = clientTime - clientBaseTime - (serverTime - serverBaseTime);
-        l1 = (totalFrameSize * 8L * 1000L) / ((clientTime - clientBaseTime) + 50L);
-        if (l1 > 0x13880L)
-            liveVideoPanel.doPartialScreenUpdates = false;
-        else
-            liveVideoPanel.doPartialScreenUpdates = true;
-        if (skew >= lowerSkew) goto _L13; else goto _L12
-_L12:
-        gotBaseTime = false;
-          goto _L11
-_L13:
-        if (skew <= upperSkew || clientTime - clientBaseTime <= skewTime) goto _L11; else goto _L14
-_L14:
-        int ai[];
-        if (!gotInitialBitRate) {
-            initialBitRate = l1;
-            gotInitialBitRate = true;
-            if (detectedPPP) {
-                if (initialBitRate < (long)DEFAULT_DIALIN_BITRATE)
-                    initialBitRate = DEFAULT_DIALIN_BITRATE;
-            } else
-            if (initialBitRate < (long)DEFAULT_NET_BITRATE)
-                initialBitRate = DEFAULT_NET_BITRATE;
-            if (sliderListener != null)
-                sliderListener.setSliderInitialBitRate(initialBitRate);
-        } else {
-            if (l1 < (initialBitRate * 60L) / 100L)
-                l1 = (initialBitRate * 60L) / 100L;
-            if (detectedPPP && l1 > initialBitRate)
-                l1 = initialBitRate;
-        }
-        gotBaseTime = false;
-        l1 *= 75L;
-        l1 /= 100L;
-        ai = new int[3];
-        ai[0] = ai.length * 4;
-        ai[1] = 10;
-        ai[2] = (int)l1;
-        thread;
-        if (Thread.interrupted())
-            return;
-        try {
-            mcsTcpConnection.sendMessage(ai, false);
-        }
-        catch (IOException ioexception4) {
-            logger.severe("Socket exception - DatagramReader exiting");
-            return;
-        }
-_L11:
-        if (frameNumber == lastFrameNumber)
-            break MISSING_BLOCK_LABEL_1033;
-        if (frameNumber == lastFrameNumber + 1) goto _L16; else goto _L15
-_L15:
-        nakMessage[2] = 0;
-        nakMessage[3] = frameNumber;
-        try {
-            mcsTcpConnection.sendMessage(nakMessage, false);
-        }
-        catch (IOException ioexception) {
-            logger.severe("Socket exception - DatagramReader exiting");
-            return;
-        }
-        nakCount++;
-          goto _L17
-_L16:
-        if ((l & 0x80) != 0) goto _L19; else goto _L18
-_L18:
-        nakMessage[2] = 0;
-        nakMessage[3] = 0;
-        thread;
-        if (Thread.interrupted())
-            return;
-        try {
-            mcsTcpConnection.sendMessage(nakMessage, false);
-        }
-        catch (IOException ioexception1) {
-            logger.severe("Socket exception - DatagramReader exiting");
-            return;
-        }
-        nakCount++;
-          goto _L17
-_L20:
-        int k;
-        nakMessage[2] = k;
-        nakMessage[3] = frameNumber;
-        thread;
-        if (Thread.interrupted())
-            return;
-        try {
-            mcsTcpConnection.sendMessage(nakMessage, false);
-        }
-        catch (IOException ioexception2) {
-            logger.severe("Socket exception - DatagramReader exiting");
-            return;
-        }
-        nakCount++;
-        break; /* Loop/switch isn't completed */
-_L19:
-        if ((k = bitmap.findZeroBit()) <= maxSequenceNumber) goto _L20; else goto _L17
-_L17:
-        lastFrameNumber = frameNumber;
-        bitmap.clear();
-        l = 0;
-        maxSequenceNumber = 0;
-        bitmap.setBit(i);
-        maxSequenceNumber = i <= maxSequenceNumber ? maxSequenceNumber : i;
-        l |= abyte0[j + 7];
-        abyte0[j + 7] &= 0x3f;
-        int j1;
-        if ((j1 = datagramList.size()) < 10 || liveVideoPanel.imagesAutomaticallyPaused)
-            break MISSING_BLOCK_LABEL_1147;
-        thread;
-        if (Thread.interrupted())
-            return;
-        if (liveVideoPanel.pauseVideo() != 1) {
-            logger.severe("Socket exception - DatagramReader exiting");
-            return;
-        }
-        liveVideoPanel.imagesAutomaticallyPaused = true;
-        long l2 = ((long)abyte0[j] & 255L) << 24 | ((long)abyte0[j + 1] & 255L) << 16 | ((long)abyte0[j + 2] & 255L) << 8 | (long)abyte0[j + 3] & 255L;
-        long l3 = ((long)abyte0[j + 12] & 255L) << 24 | ((long)abyte0[j + 13] & 255L) << 16 | ((long)abyte0[j + 14] & 255L) << 8 | (long)abyte0[j + 15] & 255L;
-        long l4 = ((long)abyte0[j + 16] & 255L) << 24 | ((long)abyte0[j + 17] & 255L) << 16 | ((long)abyte0[j + 18] & 255L) << 8 | (long)abyte0[j + 19] & 255L;
-        if (i >= 0 && i <= 896 && l3 >= 0L && l3 <= 0xc0000L && l4 >= 0L && l3 <= 0xc0000L) {
-            if (l2 != 31L)
-                synchronized (datagramList) {
-                    datagramList.addFirst(datagrampacket);
-                    datagramList.notify();
-                }
-        } else {
-            logger.warning("Bad packet discarded.  seq num: " + i + " vid ram offset: " + l3 + " vid ram count: " + l4);
-        }
-          goto _L1
-        ArrayIndexOutOfBoundsException arrayindexoutofboundsexception;
-        arrayindexoutofboundsexception;
-        logger.warning(arrayindexoutofboundsexception.toString());
-_L1:
-        thread;
-        if (Thread.interrupted())
-            return;
-        if (true) goto _L22; else goto _L21
-_L21:
-    }
-
-    public void run() {
-        process();
-        cleanupThread();
-    }
-
-    protected void finalize() throws Throwable {
-        cleanupThread();
-    }
-
-    public boolean initialized() {
-        return initialized;
-    }
-
-    public void addSliderListener(McsToolBar mcstoolbar) {
-        sliderListener = mcstoolbar;
-    }
-
-    public void setInitialBitRate(long l) {
-        initialBitRate = l;
-        gotInitialBitRate = true;
-        int ai[] = new int[3];
-        ai[0] = ai.length * 4;
-        ai[1] = 10;
-        ai[2] = (int)l;
-        try {
-            mcsTcpConnection.sendMessage(ai, true);
-        }
-        catch (IOException ioexception) {
-            logger.severe("Socket exception - setInitialBitRate");
-            return;
-        }
-    }
-
-    static  {
-        DEFAULT_DIALIN_BITRATE = McsToolBar.BITRATES[2];
-        DEFAULT_NET_BITRATE = McsToolBar.BITRATES[7];
-    }
-}