mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-05 21:14:53 +00:00
Fix broken Markdown links (#8214)
- Remove pointless Makefile and package documentation. - Fix broken links.
This commit is contained in:
@@ -20,7 +20,7 @@ This code of conduct applies to all projects run by the Tendermint/COSMOS team a
|
||||
|
||||
* Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
|
||||
|
||||
* We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behaviour. We interpret the term “harassment” as including the definition in the [Citizen Code of Conduct](http://citizencodeofconduct.org/); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
|
||||
* We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behaviour. We interpret the term “harassment” as including the definition in the [Citizen Code of Conduct](https://github.com/stumpsyn/policies/blob/master/citizen_code_of_conduct.md); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
|
||||
|
||||
* Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel admins or the person mentioned above immediately. Whether you’re a regular contributor or a newcomer, we care about making this community a safe place for you and we’ve got your back.
|
||||
|
||||
|
||||
@@ -68,10 +68,10 @@ Tendermint is in essence similar software, but with two key differences:
|
||||
|
||||
- It is Byzantine Fault Tolerant, meaning it can only tolerate up to a
|
||||
1/3 of failures, but those failures can include arbitrary behaviour -
|
||||
including hacking and malicious attacks.
|
||||
- It does not specify a particular application, like a fancy key-value
|
||||
store. Instead, it focuses on arbitrary state machine replication,
|
||||
so developers can build the application logic that's right for them,
|
||||
including hacking and malicious attacks.
|
||||
- It does not specify a particular application, like a fancy key-value
|
||||
store. Instead, it focuses on arbitrary state machine replication,
|
||||
so developers can build the application logic that's right for them,
|
||||
from key-value store to cryptocurrency to e-voting platform and beyond.
|
||||
|
||||
### Bitcoin, Ethereum, etc
|
||||
@@ -104,12 +104,10 @@ to Tendermint, but is more opinionated about how the state is managed,
|
||||
and requires that all application behaviour runs in potentially many
|
||||
docker containers, modules it calls "chaincode". It uses an
|
||||
implementation of [PBFT](http://pmg.csail.mit.edu/papers/osdi99.pdf).
|
||||
from a team at IBM that is [augmented to handle potentially
|
||||
non-deterministic
|
||||
chaincode](https://www.zurich.ibm.com/~cca/papers/sieve.pdf) It is
|
||||
possible to implement this docker-based behaviour as a ABCI app in
|
||||
Tendermint, though extending Tendermint to handle non-determinism
|
||||
remains for future work.
|
||||
from a team at IBM that is augmented to handle potentially non-deterministic
|
||||
chaincode It is possible to implement this docker-based behaviour as a ABCI app
|
||||
in Tendermint, though extending Tendermint to handle non-determinism remains
|
||||
for future work.
|
||||
|
||||
[Burrow](https://github.com/hyperledger/burrow) is an implementation of
|
||||
the Ethereum Virtual Machine and Ethereum transaction mechanics, with
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
.PHONY: docs
|
||||
REPO:=github.com/tendermint/tendermint/libs/events
|
||||
|
||||
docs:
|
||||
@go get github.com/davecheney/godoc2md
|
||||
godoc2md $(REPO) > README.md
|
||||
|
||||
test:
|
||||
go test -v ./...
|
||||
@@ -1,193 +0,0 @@
|
||||
|
||||
|
||||
# events
|
||||
|
||||
`import "github.com/tendermint/tendermint/libs/events"`
|
||||
|
||||
* [Overview](#pkg-overview)
|
||||
* [Index](#pkg-index)
|
||||
|
||||
## Overview
|
||||
|
||||
Pub-Sub in go with event caching
|
||||
|
||||
## Index
|
||||
|
||||
* [type EventCache](#EventCache)
|
||||
* [func NewEventCache(evsw Fireable) *EventCache](#NewEventCache)
|
||||
* [func (evc *EventCache) FireEvent(event string, data EventData)](#EventCache.FireEvent)
|
||||
* [func (evc *EventCache) Flush()](#EventCache.Flush)
|
||||
* [type EventCallback](#EventCallback)
|
||||
* [type EventData](#EventData)
|
||||
* [type EventSwitch](#EventSwitch)
|
||||
* [func NewEventSwitch() EventSwitch](#NewEventSwitch)
|
||||
* [type Eventable](#Eventable)
|
||||
* [type Fireable](#Fireable)
|
||||
|
||||
|
||||
### Package files
|
||||
|
||||
[event_cache.go](/src/github.com/tendermint/tendermint/libs/events/event_cache.go) [events.go](/src/github.com/tendermint/tendermint/libs/events/events.go)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Type [EventCache](/src/target/event_cache.go?s=116:179#L5)
|
||||
|
||||
``` go
|
||||
type EventCache struct {
|
||||
// contains filtered or unexported fields
|
||||
}
|
||||
```
|
||||
|
||||
An EventCache buffers events for a Fireable
|
||||
All events are cached. Filtering happens on Flush
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### func [NewEventCache](/src/target/event_cache.go?s=239:284#L11)
|
||||
|
||||
``` go
|
||||
func NewEventCache(evsw Fireable) *EventCache
|
||||
```
|
||||
|
||||
Create a new EventCache with an EventSwitch as backend
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### func (\*EventCache) [FireEvent](/src/target/event_cache.go?s=449:511#L24)
|
||||
|
||||
``` go
|
||||
func (evc *EventCache) FireEvent(event string, data EventData)
|
||||
```
|
||||
|
||||
Cache an event to be fired upon finality.
|
||||
|
||||
|
||||
|
||||
|
||||
### func (\*EventCache) [Flush](/src/target/event_cache.go?s=735:765#L31)
|
||||
|
||||
``` go
|
||||
func (evc *EventCache) Flush()
|
||||
```
|
||||
|
||||
Fire events by running evsw.FireEvent on all cached events. Blocks.
|
||||
Clears cached events
|
||||
|
||||
|
||||
|
||||
|
||||
## Type [EventCallback](/src/target/events.go?s=4201:4240#L185)
|
||||
|
||||
``` go
|
||||
type EventCallback func(data EventData)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Type [EventData](/src/target/events.go?s=243:294#L14)
|
||||
|
||||
``` go
|
||||
type EventData interface {
|
||||
}
|
||||
```
|
||||
|
||||
Generic event data can be typed and registered with tendermint/go-amino
|
||||
via concrete implementation of this interface
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Type [EventSwitch](/src/target/events.go?s=560:771#L29)
|
||||
|
||||
``` go
|
||||
type EventSwitch interface {
|
||||
service.Service
|
||||
Fireable
|
||||
|
||||
AddListenerForEvent(listenerID, event string, cb EventCallback)
|
||||
RemoveListenerForEvent(event string, listenerID string)
|
||||
RemoveListener(listenerID string)
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### func [NewEventSwitch](/src/target/events.go?s=917:950#L46)
|
||||
|
||||
``` go
|
||||
func NewEventSwitch() EventSwitch
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
## Type [Eventable](/src/target/events.go?s=378:440#L20)
|
||||
|
||||
``` go
|
||||
type Eventable interface {
|
||||
SetEventSwitch(evsw EventSwitch)
|
||||
}
|
||||
```
|
||||
|
||||
reactors and other modules should export
|
||||
this interface to become eventable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Type [Fireable](/src/target/events.go?s=490:558#L25)
|
||||
|
||||
``` go
|
||||
type Fireable interface {
|
||||
FireEvent(event string, data EventData)
|
||||
}
|
||||
```
|
||||
|
||||
an event switch or cache implements fireable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
- - -
|
||||
Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md)
|
||||
@@ -1,6 +1,6 @@
|
||||
# Protocol Buffers
|
||||
|
||||
This sections defines the protocol buffers used in Tendermint. This is split into two directories: `spec`, the types required for all implementations and `tendermint`, a set of types internal to the Go implementation. All generated go code is also stored in `tendermint`.
|
||||
This sections defines the protocol buffers used in Tendermint. This is split into two directories: `spec`, the types required for all implementations and `tendermint`, a set of types internal to the Go implementation. All generated go code is also stored in `tendermint`.
|
||||
More descriptions of the data structures are located in the spec directory as follows:
|
||||
|
||||
- [Block](../spec/core/data_structures.md)
|
||||
@@ -14,7 +14,7 @@ The `.proto` files within this section are core to the protocol and updates must
|
||||
### Steps
|
||||
|
||||
1. Make an issue with the proposed change.
|
||||
- Within the issue members, from the Tendermint team will leave comments. If there is not consensus on the change an [RFC](../rfc/README.md) may be requested.
|
||||
- Within the issue members, from the Tendermint team will leave comments. If there is not consensus on the change an [RFC](../docs/rfc/README.md) may be requested.
|
||||
1a. Submission of an RFC as a pull request should be made to facilitate further discussion.
|
||||
1b. Merge the RFC.
|
||||
2. Make the necessary changes to the `.proto` file(s), [core data structures](../spec/core/data_structures.md) and/or [ABCI protocol](../spec/abci/apps.md).
|
||||
|
||||
Reference in New Issue
Block a user