Simple Smoke Protocol
Find a file
Alexander Kiryukhin b1f0668138 Fix добавлена переменная вместо константы
Для бо́льшей гибкости описания
2013-03-25 14:32:06 +04:00
README.md Fix добавлена переменная вместо константы 2013-03-25 14:32:06 +04:00
ToDo.md Добавлен ToDo с задачами на будущие версии 2013-03-25 14:28:59 +04:00

#Спецификация протокола SSP

Версия 1.2.2

##Определения

SSP (SimpleSmokeProtocol) - простой протокол установления соглашения для совместного похода до мест разрешенных для курения.

Вызывающая сторона - субъект инициирующий запрос

Вызываемая сторона - субъект принимающий запрос

##Описание команд протокола

? - запрос, инициирующий протокол. Соответствует фразе «Пойдем курить?»

! - ответ на запрос инициирующий запрос, подразумевающий ответное желание идти курить. Соответствует фразе «Да, пошли»

# - ответ на запрос инициирующий запрос, подразумевающий отказ от похода курить. Соответствует фразе «Нет, не хочу»

#число - ответ на запрос инициирующий запрос, подразумевающий отказ от похода курить. Соответствует фразе «Нет, не хочу, *число* минут назад курил». В случае, если точное время определить не представляется возможным, следует использовать знак ~ («тильда»), подразумевающий неопределённое, но небольшое (до 45 минут) время. В случае бо́льшего времени, возможно, следует использовать простой негативный ответ - # либо отвечать позитивным ответом - !.

@число - ответ на запрос инициирующий запрос, подразумевающий ответное желание идти курить но с отсрочкой на *число* минут. В случае, если точное время определить не представляется возможным, следует использовать знак ~ («тильда»), подразумевающий неопределённое, но небольшое (до 15 минут) время. В случае бо́льшего времени, следует использовать негативный ответ - #. Соответствует фразе «Пошли, но через *число* минут.»

> - синхронизирующая команда, обозначающая начало исполнения протокола вызывающей стороной. Соответствует фразе «Выхожу!»

>> - синхронизирующая команда, обозначающая начало исполнения протокола вызываемой стороной. Соответствует фразе «Я тоже выхожу.»

##Пример использования протокола

X - вызывающий Y - вызываемый

###Пример 1

X: ? («Пойдем курить?»)
Y: ! («Да, пошли»)
X: > («Выхожу!»)
Y: >> («Я тоже выхожу.»)

###Пример 2

X: ? («Пойдем курить?»)
Y: @5 («Пошли, но через 5 минут.»)
Y: ! («Да, пошли»)
X: > («Выхожу!»)
Y: >> («Я тоже выхожу.»)

###Пример 3

X: ? («Пойдем курить?»)
Y: # («Нет, не хочу»)

###Пример 4

X: ? («Пойдем курить?»)
Y: #20 («Нет, не хочу, 20 минут назад курил»)

###Пример 5

X: ? («Пойдем курить?»)
Y: #~ («Нет, не хочу, только что курил»)