Skip to content
Trolldemorted edited this page Mar 27, 2017 · 2 revisions

Welcome to the Signal-Windows wiki!

Threading model

Messages

UI

  • display outgoing message immediately
  • enqueue message for DB

Receiver

  • reads message from the pipe
  • decrypt (protected by the SESSION_LOCK)
  • invokes on the UI:
    • display message
    • enqueue message for DB

Sender

  • read outgoing messages from queue
  • encrypt (SignalServiceMessageSender)
  • move them to the websocket's queue

DB

  • reads from its queue
  • save messages
  • wakes up blocking "callers", if neccessary

Contacts

  • use a lock?
Clone this wiki locally