Update README.md

This commit is contained in:
Alexander Kiryukhin 2013-03-21 14:29:25 +04:00
parent cc3f21af46
commit 9409263695

View file

@ -1,4 +1,60 @@
SSP
===
#Спецификация протокола SSP
Simple Smoke Protocol
*Версия 1.1*
##Определения
*SSP (SimpleSmokeProtocol)* - простой протокол установления соглашения для
совместного похода до мест разрешенных для курения.
*Вызывающая сторона* - субъект инициирующий запрос
*Вызываемая сторона* - субъект принимающий запрос
##Описание команд протокола
? - запрос, инициирующий протокол. Соответствует фразе «Пойдем курить?»
! - ответ на запрос инициирующий запрос, подразумевающий ответное желание идти
курить. Соответствует фразе «Да, пошли»
\# - ответ на запрос инициирующий запрос, подразумевающий отказ от похода курить.
Соответствует фразе «Нет, не хочу»
@*число* - ответ на запрос инициирующий запрос, подразумевающий ответное желание
идти курить но с отсрочкой на *число* минут. В случае, если точное время опреде-
лить не представляется возможным, следует использовать знак ~ («тильда»), подра-
зумевающий неопределённое, но небольшое (до 15 минут) время. В случае бо́льшего
времени, следует использовать негативный ответ - #. Соответствует фразе «Пошли,
но через *число* минут.»
\> - синхронизирующая команда, обозначающая начало исполнения протокола вызываю-
щей стороной. Соответствует фразе «Выхожу!»
\>\> - синхронизирующая команда, обозначающая начало исполнения протокола вызывае-
мой стороной. Соответствует фразе «Я тоже выхожу.»
##Пример использования протокола
X - вызывающий
Y - вызываемый
###Пример 1
X: ? («Пойдем курить?»)
Y: ! («Да, пошли»)
X: > («Выхожу!»)
Y: >> («Я тоже выхожу.»)
###Пример 2
X: ? («Пойдем курить?»)
Y: @5 («Пошли, но через 5 минут.»)
Y: ! («Да, пошли»)
X: > («Выхожу!»)
Y: >> («Я тоже выхожу.»)
###Пример 3
X: ? («Пойдем курить?»)
Y: # («Нет, не хочу»)