public static Event read (SocketBase s) 
        {
            Msg msg = s.recv (0);
            if (msg == null)
                return null;
            
            ByteBuffer buffer = msg.buf ();
            
            int event = buffer.getInt ();
            int len = buffer.get ();
            byte [] addr = new byte [len];
            buffer.get (addr);
            int flag = buffer.get ();
            Object arg = null;
            
            if (flag == VALUE_INTEGER)
                arg = buffer.getInt ();
            
            return new Event (event, new String (addr), arg);
        }