[Pkg-javascript-commits] [ltx] 131/469: README: update design
Jonas Smedegaard
dr at jones.dk
Wed Aug 31 13:01:14 UTC 2016
This is an automated email from the git hooks/post-receive script.
js pushed a commit to branch master
in repository ltx.
commit e614607a256eb8e6564ba50ca23911cd8e919458
Author: Astro <astro at spaceboyz.net>
Date: Thu Sep 9 20:21:16 2010 +0200
README: update design
---
README.markdown | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/README.markdown b/README.markdown
index 2f35b0c..9969bc5 100644
--- a/README.markdown
+++ b/README.markdown
@@ -21,7 +21,8 @@ Objectives of *node-xmpp:*
* Use node.js conventions, especially `EventEmitter`, ie. for write
buffer control
* Fast parsing, `node-expat` was written with this library in mind
-* Support for both XMPP clients and components
+* Client support for both XMPP clients and components
+* Optional server infrastructure with `Router`
* After authentication, leave trivial protocol bits to the user (later
we could offer helpers for entity capabilities hashing, etc)
@@ -43,28 +44,27 @@ Objectives of *node-xmpp:*
## Design
- ┌────────────┐
- │ net.Stream │
- └─────┬──────┘
- │
- ┌─────┴──────┐
- │ Connection │
- └─────┬──────┘
- │
- ┌─────┴──────┐
- │ │
- ┏━━━━━┷━━━━┓ ┏━━━━━┷━━━━━┓
- ┃ Client ┃ ┃ Component ┃
- ┗━━━━━━━━━━┛ ┗━━━━━━━━━━━┛
-
-That means you can use the TCP events of `net.Stream` with Client and
-Component objects. Other than that, hook callbacks to these events:
-
-* `online`, when authentication is done and you can send XMPP stanzas
- (ie. `<presence/>`)
-* `stanza` for each incoming XMPP stanza, with the XML Element as
- parameter
-* `error` with the `<stream:error/>` as parameter
+ ┌────────────┐ has a ┌────────────┐
+ │ net.Stream │←──────┤ Connection │
+ └────────────┘ └─────┬──────┘
+ │
+ ┌────────────┬───────┴───┐
+ │ │ │
+ ┏━━━━━┷━━━━┓ ┏━━━━━┷━━━━━┓ ┌───┴────┐
+ ┃ Client ┃ ┃ Component ┃ │ Server │
+ ┗━━━━━━━━━━┛ ┗━━━━━━━━━━━┛ └───┬────┘
+ │
+ ┌─────────────────────┤
+ │ │
+ ┌────────┴───────┐ ┌───────────┴────┐
+ │ OutgoingServer │ │ IncomingServer │
+ └────────────────┘ └────────────────┘
+ has many ↑ ↑ has many
+ creates │ │ accepts
+ ┏┷━━━━━━━━┷┓
+ ┃ Router ┃
+ ┗━━━━━━━━━━┛
+
This foundation is complemented by two basic data structures:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/ltx.git
More information about the Pkg-javascript-commits
mailing list