[][src]Module vampirc_uci::uci

The uci module contains the definitions that represent UCI protocol messages.

Usually, these messages will be obtained by calling the parse method of the parser module, but you can always construct them in code and then print them to the standard output to communicate with the GUI.

Structs

ByteVecUciMessage

A wrapper that keeps the serialized form in a byte vector. Mostly useful to provide an AsRef<[u8]> implementation for quick conversion to an array of bytes. Use the ::from(m: UciMessage) to construct it. It will add the newline character \n to the serialized message.

UciFen

A representation of the notation in the FEN notation.

UciMove

Representation of a chess move.

UciSearchControl

A struct that controls the engine's (non-time-related) search settings.

UciSquare

A representation of a chessboard square.

Enums

CommunicationDirection

Specifies whether a message is engine- or GUI-bound.

ProtectionState

Represents the copy protection or registration state.

UciInfoAttribute

The representation of various info messages. For an info attribute that is not listed in the protocol specification, the UciInfoAttribute::Any(name, value) variant can be used.

UciMessage

An enumeration type containing representations for all messages supported by the UCI protocol.

UciOptionConfig

Represents a UCI option definition.

UciPiece

An enum representing the chess piece types.

UciTimeControl

This enum represents the possible variants of the go UCI message that deal with the chess game's time controls and the engine's thinking time.

Traits

Serializable

Type Definitions

MessageList

A vector containing several UciMessages.