Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
man
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

CHAT: Messaging Protocol

Build Status Hex pm

Simple mailbox delivery protocol.

Features

  • Database Support: FS, MNESIA, ROCKSDB
  • MQ Support: GPROC, SYN
  • Formatters Support: TXT, BERT, BER/DER/PER [ASN.1]
  • Size: 80 LOC

Intro

CHAT is an QoS=1 example of messaging system built on top of:

  • SYN for publish subscribe message queue;
  • N2O for protocols;
  • KVX for data storage;
  • and COWBOY for web server.

It also contains simple textual WebSocket protocol for debugging purposes. You can freely use this example with your favourite formatter for user terminal protocol.

$ wscat --no-check -c wss://localhost:8042/ws
> HELP
< N2O <user>
| SEND <user> <msg>
| BOX
| CUT <id>.
> N2O maxim
< USER maxim
> SEND vlad HELO
< ERROR user doesn't exist.
> N2O vlad
< USER vlad
> SEND maxim OK
< NOTIFY vlad:maxim:1556151953113322286:OK
< ACK "1556151953113322286"
> N2O maxim
< USER maxim
> BOX
< LIST
vlad:maxim:1556151953113322286:OK
> SEND maxim this is me
< NOTIFY maxim:maxim:1556152151055371152:this is me
< ACK "1556152151055371152"
> SEND maxim back again
< NOTIFY maxim:maxim:1556152157283311935:back again
< ACK "1556152157283311935"
> BOX
< LIST
vlad:maxim:1556151953113322286:OK
maxim:maxim:1556152151055371152:this is me
maxim:maxim:1556152157283311935:back again
> CUT 1556152157283311935
< ERASED 3
> BOX
< LIST
>

Documentation

The project homepage is chat.n2o.dev.

Credits

  • Maxim Sokhatsky
  • Vladimir Kirillov

OM A HUM

You can’t perform that action at this time.