Crate usi [−] [src]
Types representing commands defined in USI protocol.
USI protocol defines commands sent from either GUIs or engines. Detail about USI protocol is found at http://www.geocities.jp/shogidokoro/usi.html.
Examples
use std::time::Duration; use usi::{GuiCommand, ThinkParams, EngineCommand, BestMoveParams}; // GuiCommand can be converted into the USI compliant string. let params = ThinkParams::new().btime(Duration::from_secs(1)).wtime(Duration::from_secs(2)); let cmd = GuiCommand::Go(params); assert_eq!("go btime 1000 wtime 2000", cmd.to_string()); // EngineCommand can be parsed from the command string sent from the USI engine. let cmd = EngineCommand::parse("bestmove 7g7f ponder 8c8d").unwrap(); match cmd { EngineCommand::BestMove(BestMoveParams::MakeMove(ref m, Some(ref pm))) => { assert_eq!("7g7f", *m); assert_eq!("8c8d", *pm); }, _ => unreachable!(), }
Structs
OptionParams |
Represents parameters of "option" command. |
ThinkParams |
Represents parameters of "go" command. |
Enums
BestMoveParams |
Represents parameters of "bestmove" command. |
CheckmateParams |
Represents parameters of "checkmate" command. |
EngineCommand |
Represents a USI command sent from the engine. |
Error |
The error type for USI command conversions. |
GameOverKind |
Represents parameters of "gameover" command. |
GuiCommand |
Represents a USI command sent from the GUI. |
IdParams |
Represents parameters of "id" command. |
InfoParams |
Represents parameters of "info" command. |
OptionKind |
Represents a kind of "option" command value. |
ScoreKind |
Represents a kind of "score" parameter value in "info" command. |