2019-04-24 14:55:01 +03:00
|
|
|
|
# Спецификация протокола SSP
|
2013-03-21 14:27:53 +04:00
|
|
|
|
|
2020-11-24 11:42:50 +03:00
|
|
|
|
*Версия 1.2.4*
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
## Определения
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
|
|
|
|
*SSP (SimpleSmokeProtocol)* - простой протокол установления соглашения для
|
|
|
|
|
совместного похода до мест разрешенных для курения.
|
|
|
|
|
|
|
|
|
|
*Вызывающая сторона* - субъект инициирующий запрос
|
|
|
|
|
|
|
|
|
|
*Вызываемая сторона* - субъект принимающий запрос
|
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
## Описание команд протокола
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
2019-04-24 14:56:15 +03:00
|
|
|
|
`?` - запрос, инициирующий протокол. Соответствует фразе «Пойдем курить?»
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
2019-04-24 14:58:13 +03:00
|
|
|
|
`?X` - запрос, инициирующий протокол идти курить, но с отсрочкой на X минут. Соответствует фразе «Пойдем курить через X минут?»
|
2017-02-09 15:31:03 +03:00
|
|
|
|
|
2019-04-24 14:56:15 +03:00
|
|
|
|
`!` - ответ на запрос инициирующий запрос, подразумевающий ответное желание идти
|
2013-03-21 14:29:25 +04:00
|
|
|
|
курить. Соответствует фразе «Да, пошли»
|
|
|
|
|
|
2020-11-24 11:51:27 +03:00
|
|
|
|
`+` - ответ на запрос инициирующий запрос, подразумевающий ответное желание идти
|
2020-11-24 11:42:50 +03:00
|
|
|
|
курить. Соответствует фразе «Да, пошли». Синоним предыдущего ответа.
|
|
|
|
|
|
2020-11-24 11:47:48 +03:00
|
|
|
|
`#` - ответ на запрос инициирующий запрос, подразумевающий отказ от похода курить.
|
2013-03-21 14:29:25 +04:00
|
|
|
|
Соответствует фразе «Нет, не хочу»
|
|
|
|
|
|
2019-04-24 14:58:13 +03:00
|
|
|
|
`#X` - ответ на запрос инициирующий запрос, подразумевающий отказ от похода курить.
|
|
|
|
|
Соответствует фразе «Нет, не хочу, X минут назад курил».
|
2013-03-25 12:45:40 +04:00
|
|
|
|
В случае, если точное время определить не представляется возможным, следует использовать
|
2019-04-24 14:58:13 +03:00
|
|
|
|
знак `~` («тильда»), подразумевающий неопределённое, но небольшое (до 45 минут) время.
|
2013-03-25 12:45:40 +04:00
|
|
|
|
В случае бо́льшего времени, возможно, следует использовать простой негативный
|
2019-04-24 14:56:15 +03:00
|
|
|
|
ответ - `#` либо отвечать позитивным ответом - `!`.
|
2013-03-25 12:40:55 +04:00
|
|
|
|
|
2019-04-24 14:58:13 +03:00
|
|
|
|
`@X` - ответ на запрос инициирующий запрос, подразумевающий ответное желание
|
|
|
|
|
идти курить но с отсрочкой на X минут. В случае, если точное время определить
|
|
|
|
|
не представляется возможным, следует использовать знак `~` («тильда»), подразумевающий
|
2013-03-25 12:45:40 +04:00
|
|
|
|
неопределённое, но небольшое (до 15 минут) время. В случае бо́льшего
|
2019-04-24 14:58:13 +03:00
|
|
|
|
времени, следует использовать негативный ответ - `#`. Соответствует фразе «Пошли,
|
|
|
|
|
но через X минут.»
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
2019-04-24 14:58:13 +03:00
|
|
|
|
`>` - синхронизирующая команда, обозначающая начало исполнения протокола вызывающей стороной. Соответствует фразе «Выхожу!».
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
2019-04-24 14:58:13 +03:00
|
|
|
|
`>>` - синхронизирующая команда, обозначающая начало исполнения протокола вызываемой стороной. Соответствует фразе «Я тоже выхожу».
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
## Пример использования протокола
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
|
|
|
|
X - вызывающий
|
|
|
|
|
Y - вызываемый
|
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
### Пример 1
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
|
|
|
|
X: ? («Пойдем курить?»)
|
|
|
|
|
Y: ! («Да, пошли»)
|
|
|
|
|
X: > («Выхожу!»)
|
|
|
|
|
Y: >> («Я тоже выхожу.»)
|
|
|
|
|
|
2020-11-24 11:46:36 +03:00
|
|
|
|
### Пример 1.2
|
2020-11-24 11:42:50 +03:00
|
|
|
|
|
|
|
|
|
X: ? («Пойдем курить?»)
|
|
|
|
|
Y: + («Да, пошли»)
|
|
|
|
|
X: > («Выхожу!»)
|
|
|
|
|
Y: >> («Я тоже выхожу.»)
|
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
### Пример 2
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
|
|
|
|
X: ? («Пойдем курить?»)
|
|
|
|
|
Y: @5 («Пошли, но через 5 минут.»)
|
|
|
|
|
Y: ! («Да, пошли»)
|
|
|
|
|
X: > («Выхожу!»)
|
|
|
|
|
Y: >> («Я тоже выхожу.»)
|
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
### Пример 3
|
2013-03-21 14:29:25 +04:00
|
|
|
|
|
|
|
|
|
X: ? («Пойдем курить?»)
|
|
|
|
|
Y: # («Нет, не хочу»)
|
2013-03-25 12:40:55 +04:00
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
### Пример 4
|
2013-03-25 12:40:55 +04:00
|
|
|
|
|
|
|
|
|
X: ? («Пойдем курить?»)
|
|
|
|
|
Y: #20 («Нет, не хочу, 20 минут назад курил»)
|
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
### Пример 5
|
2013-03-25 12:40:55 +04:00
|
|
|
|
|
|
|
|
|
X: ? («Пойдем курить?»)
|
|
|
|
|
Y: #~ («Нет, не хочу, только что курил»)
|
2017-02-09 15:31:03 +03:00
|
|
|
|
|
2019-04-24 14:55:01 +03:00
|
|
|
|
### Пример 6
|
2017-02-09 15:31:03 +03:00
|
|
|
|
|
|
|
|
|
X: ?10 («Пойдем курить через 10 минут?»)
|
|
|
|
|
Y: #2 («Нет, не хочу, 2 минуты назад курил»)
|
2013-03-25 14:03:39 +04:00
|
|
|
|
|