Skip to content

okayno14/E-message

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Развёртка приложения

Старт базы данных

Приложение взаимодейтсвует исключительно с бд Redis. Достаточно использовать стандартный метод запуска:

redis-server

Стандартный порт - 6379, именно такой используется в стандартной конфигурации приложения.

Старт сервера

Если у вашего сервера бд используется нестандартный порт, то необходимо поменять значения в конфигурационном файле (см. Конфигурация).

Файлы программы находятся в rebar3-проекте. Для начала работы с ним достаточно в консоли ОС ввести:

rebar3 shell

Тогда rebar3 самостоятельно выполнит компиляцию исходных файлов, загрузит зависимости, выполнит их компиляцию, добавит все .beam-файлы в окружение запущенной erlang-shell.

Прохождение автотестов

Приложение содержит тестовый код, проверяющий каждую функцию API. Тесты написаны с применением приложения common_test. Последовательность проведения тестов:

  1. Зайти в корень проекта, прописать:

    rebar3 ct

  2. После прохождения тестов common_test запишет лог в файл _build/test/logs/index.html;

  3. Для повторного перепрохождения тестов необходимо очистить тестовую базу.

Взаимодействие с приложением

Запуск

Сервер запускается по вызову 2-х функций:

  1. e_message:start(Path), где Path - путь до файла config.json;
  2. e_message:start(), где путь по умолчанию - "priv/etc/config.json".

В результате выполнения указанных функций будет создано дерево приложения, корень которого расположен в другом процессе.

Корень зарегистрируется под псевдонимом e_message.

Остановка

Остановка сервера - посылка сообщения в формате {stop,From}, где From - PID отправителя. Супервизор попытается остановить каждый процесс без отмены клиентской транзакции, если же акцептор слишком долго не будет отвечать, то он будет остановлен принудительно.

API

API сервера подробно описано в документации. Если коротко, то он слушает TCP-порт, по которому приходят текстовые комманды от клиентов в проприетарном формате.

Конфигурация

Приложение для конфигурации читает файл priv/etc/config.json. Его структура по умолчанию:

{
  "port": 5560,
  "acceptors_quantity": 2
}

Структура директорий

  • doc - документация проекта:

    • inner - внутренние черновики по темам;

    • pdf - pdf-документ, описывающий проект.

  • include - заголовочные файлы с записями;

  • priv - файлы-ресурсы проекта:

    • priv/etc - директория с конфигурационными файлами
  • src - исходные файлы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages