//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Library General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

package friendless.games.filler.remote;

/**
 * An abstract class for fixed length messages.
 *
 * @author Kris Verbeeck
 */
public abstract class FixedSizeMessage
    implements IsMessage
{
    private byte _id;
    private int _size;

    /**
     * Create a message with given size.
     */
    public FixedSizeMessage(byte id, int size)
    {
        _id = id;
        _size = size;
    }

    /**
     * Returns a unique message id for the move message.
     */
    public byte getMessageId()
    {
        return _id;
    }

    /**
     * Return the size of this message.
     */
    public int getPayloadSize()
    { 
        return _size;
    }

    /**
     * This is a fixed size message so no sentinel is used.  We
     * return a dummy -1.
     */
    public byte getSentinel() 
    { 
        return -1; 
    }
}
