mirror of
https://github.com/matrix-construct/construct
synced 2024-11-25 16:22:35 +01:00
Update README.
This commit is contained in:
parent
6a6d190a02
commit
9b8f08a6e5
2 changed files with 27 additions and 28 deletions
33
README.md
33
README.md
|
@ -14,7 +14,7 @@
|
|||
<img align="right" src="https://i.imgur.com/TIf8kEC.png" />
|
||||
</a>
|
||||
|
||||
#### Internet Relay Chat daemon: *Matrix Construct*
|
||||
**Fast. Secure. Feature Rich. Community Lead.**
|
||||
|
||||
IRCd was a free and open source server which facilitated real-time communication over the
|
||||
internet. It was started by Jarkko Oikarinen in 1988 at the University of Oulu and [its
|
||||
|
@ -34,8 +34,8 @@ real-time communication for free and open source software: a *federation of netw
|
|||
<img align="right" src="https://i.imgur.com/DUuGSrH.png" />
|
||||
</a>
|
||||
|
||||
**This is the Construct** — the first Matrix server written in C++. It is designed to be
|
||||
fast and highly scalable, and to be community developed by volunteer contributors over
|
||||
**This is the Construct** — the community's own Matrix server. It is designed to be
|
||||
fast and highly scalable, and to be developed by volunteer contributors over
|
||||
the internet. This mission strives to make the software easy to understand, modify, audit,
|
||||
and extend. It remains true to its roots with its modular design and having minimal
|
||||
requirements.
|
||||
|
@ -60,13 +60,12 @@ for its day to aid the virility of implementations. A vibrant and growing ecosys
|
|||
|
||||
### Dependencies
|
||||
|
||||
- **Boost** (1.66 or later)
|
||||
Replacing libratbox.
|
||||
- **RocksDB** Embedded database.
|
||||
- **Sodium** Curve ed25519 for Federation.
|
||||
- **OpenSSL** HTTPS TLS / X.509.
|
||||
- **libmagic** (~Optional~) MIME type recognition.
|
||||
- **zlib** or **lz4** or **snappy** (Optional) Compression.
|
||||
- **Boost** library 1.66+
|
||||
- **RocksDB** library 5.16.6.
|
||||
- **Sodium** library for curve ed25519.
|
||||
- **OpenSSL** library for HTTPS TLS / X.509.
|
||||
- **magic** library for MIME type recognition.
|
||||
- **zlib** or **lz4** or **snappy** (Optional) Compressions.
|
||||
|
||||
##### Build tools
|
||||
|
||||
|
@ -115,8 +114,18 @@ Additional documentation for building can be found in [doc/BUILD.md](doc/BUILD.m
|
|||
|
||||
### BUILD (standalone)
|
||||
|
||||
*Intended to allow building with dependencies that have not made their way
|
||||
to mainstream systems.*
|
||||
This section is intended to allow building with dependencies that have not
|
||||
made their way to mainstream systems. Important notes:
|
||||
|
||||
- GCC: Ubuntu Xenial (16.04) users must use a PPA to obtain GCC-7 or greater; don't
|
||||
forget to `export CXX=g++-7` before running `./configure` on that system.
|
||||
|
||||
- Boost: The required version is available through `apt` as `boost-all-dev` on
|
||||
Ubuntu Cosmic (18.10). All earlier releases (including 18.04 LTS) can configure
|
||||
with `--with-included-boost` as instructed below (or obtain that package instead).
|
||||
|
||||
- RocksDB: All users should configure with `--with-included-rocksdb` as
|
||||
instructed below.
|
||||
|
||||
```
|
||||
./autogen.sh
|
||||
|
|
|
@ -198,16 +198,9 @@ time, the DAG is linear.
|
|||
|
|
||||
```
|
||||
|
||||
This is because computers and the modern internet are actually quite fast. Even
|
||||
in the broadcast model for reasonably large room, a server will have conveyed
|
||||
an event to all other servers, or at least to the next server which will
|
||||
transmit, before there is any conflict. This is the overwhelming majority of
|
||||
cases.
|
||||
|
||||
For example, consider this curve from data collected in
|
||||
#matrix-architecture:matrix.org. The number of references an event makes
|
||||
is the key, and the count of events which has made that number of references
|
||||
is the value.
|
||||
Based on data collected for the Matrix chatroom workload, conflicts
|
||||
occur about 3.5% of the time, and more than a simple conflict occurs
|
||||
about 0.1% of the time. We will refer to these as periods of "turbulence."
|
||||
|
||||
```
|
||||
1: 6848
|
||||
|
@ -218,10 +211,9 @@ is the value.
|
|||
6: 0
|
||||
7: 0
|
||||
```
|
||||
|
||||
Conflicts occurred about 3.5% of the time, and more than a simple conflict
|
||||
occurred about 0.1% of the time. We will refer to these as periods of
|
||||
"turbulence."
|
||||
Here is some data from #matrix-architecture:matrix.org. The number of
|
||||
references an event makes is the key, and the count of events which has
|
||||
made that number of references is the value.
|
||||
|
||||
```
|
||||
|
||||
|
@ -274,8 +266,6 @@ having only received two out of the three transmissions in the previous round.
|
|||
[M05]
|
||||
|
|
||||
```
|
||||
The above scenario is a very rare occurrence but it is certainly seen in
|
||||
practice by slow servers participating in large and busy rooms.
|
||||
|
||||
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue