package jasync;

/**
 * Peer objects are used to tell the other end of a connection who they are
 * talking to.
 * @see PeerImpl
 */
public interface Peer {

    /**
     * Expected to return the major version number.
     * @return the major version number.
     */
    public int getVersionMajor ();

    /**
     * Expected to return the minor version number.
     * @return the minor version number.
     */
    public int getVersionMinor ();

    /**
     * Expected to return the revision number.
     * @return the revision number.
     */
    public int getVersionRevision ();

    /**
     * Expected to return the peer type.
     * @return peer type.
     * @see PeerType
     */
    public PeerType getPeerType ();

    /**
     * Expected to return the peer name.
     * @return name.
     */
    public String getPeerName ();
}

