MailNews:Minimizing Bandwidth Usage: Difference between revisions

Jump to navigation Jump to search
m
added missing transition
(State Diagram explanation)
m (added missing transition)
Line 89: Line 89:
<pre>
<pre>


            .---------------.
          .---------------.
            . --------------- .
          . --------------- .
            || SyncCompleted ||
          || SyncCompleted ||
            ' --------------- '
          ' --------------- '
            '---------------'
          '---------------'
                  ^
                ^
                  |
                /
                .
                 |
                 |
        syncCompleted()
              /
                .
              .                                  discoverMessages()
                \            pendingHeaders() > 0                   pendingMessages() > 0                  downloadMessages()
              |                                      .-------.
  ------.        \          .----------------.                     .----------------.                    .----------------.
      syncCompleted()                             /        \
        /      ------------- /                  `-> --------------- /                  `-> --------------- /                  `-> ------------------
              .                                    '          .
      ------>|IdleCompleted|                      |ReadyToDiscover|                      |ReadyToDownload|                      |DownloadInProgress|
              \            pendingHeaders() > 0   |          |  pendingMessages() > 0                  downloadMessages()
              ------------- <-                  / --------------- <-                  / --------------- <-                  / ------------------
------.        \          .----------------.     \          v  .----------------.                    .----------------.
                ^      \      `-----------------'                    `-----------------'                    `-----------------'      ^      \
      /      ------------- /                  `-> --------------- /                  `-> --------------- /                  `-> ------------------
                |      \    pendingHeaders() = 0                  pendingMessages() = 0                      downloadOK()          |      \
    ------>|IdleCompleted|                      |ReadyToDiscover|                      |ReadyToDownload|                      |DownloadInProgress|
                /        \                                                                                                          /        \
            ------------- <-                  / --------------- <-                  / --------------- <-                  / ------------------
              /          .                                                                                                        .          .
              ^      \      `-----------------'                    `-----------------'                    `-----------------'      ^      \
              /            |                                                                                                        |      downloadFail()
              |      \    pendingHeaders() = 0                  pendingMessages() = 0                      downloadOK()          |      \
            /      headersOutOfDate()                                                                                            |          |
              /        \                                                                                                          /        \
            /              |                                                                                                        |          |
            /          .                                                                                                        .          .
          .              |                                                                                          retriesRemaing() > 0      |
            /            |                                                                                                        |      downloadFail()
          |              .                                                                                                        .          .
          /      headersOutOfDate()                                                                                            |          |
      updateOK()          /                                                                                                          \        /
          /              |                                                                                                        |          |
          |            |                                                                                                            \      |
        .              |                                                                                          retriesRemaing() > 0      |
          |            v                                                                                                            \      v
        |              .                                                                                                        .          .
          |  -------------                                                                                                        ------------
    updateOK()          /                                                                                                          \        /
          |  |ReadyToUpdate|                                                                                                      |DownloadFail|
        |            |                                                                                                            \      |
          |  -------------                                                                                                        ------------
        |            v                                                                                                            \      v
          |            \                                                                                                                    \
        |  -------------                                                                                                        ------------
          |            \                                                                                                                    \
        |  |ReadyToUpdate|                                                                                                      |DownloadFail|
          |              .                                                                                                                    .
        |  -------------                                                                                                        ------------
          .              |                                                                                                          retriesRemaing() = 0
        |            \                                                                                                                    \
            \      updateHeaders()                                                                                                            |
        |            \                                                                                                                    \
            \            |                                                                                                                    .
        |              .                                                                                                                    .
              \          .                                                                                                                  /
        .              |                                                                                                          retriesRemaing() = 0
              \        /                                                                                                                  |
          \      updateHeaders()                                                                                                            |
                \      |                      updateFail()                                      retriesRemaining() = 0                      v
          \            |                                                                                                                    .
                \      v      .-------------------------------------.                .----------------------------------------.    .------------.
            \          .                                                                                                                  /
            ---------------- /                                      `-> ---------- /                                          `->. ------------ .
            \        /                                                                                                                  |
            |UpdateInProgress|                                          |UpdateFail|                                              || SyncFailed ||
              \      |                      updateFail()                                      retriesRemaining() = 0                      v
            ---------------- <-                                        / ----------                                              ' ------------ '
              \      v      .-------------------------------------.                .----------------------------------------.    .------------.
                                `--------------------------------------'                                                            '------------'
          ---------------- /                                      `-> ---------- /                                          `->. ------------ .
                                            retriesRemaing() > 0
          |UpdateInProgress|                                          |UpdateFail|                                              || SyncFailed ||
          ---------------- <-                                        / ----------                                              ' ------------ '
                              `--------------------------------------'                                                            '------------'
                                          retriesRemaing() > 0


</pre>
</pre>
113

edits

Navigation menu