mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-10 23:10:59 +00:00
While I'd hoped to be able to make the socket client less weird, I think that this is a nice middle ground in terms of improving readability and removing the vestigal components without breaking anything or radically changing the underlying assumptions. In the future we'd want to have requests be identified by a request ID, and then we could drop the request tracking logic in the client entirely, and this is protocol breaking. The alternatives aren't substantively different than the current implementation.
21 lines
485 B
Go
21 lines
485 B
Go
// Package abciclient provides an ABCI implementation in Go.
|
|
//
|
|
// There are 3 clients available:
|
|
// 1. socket (unix or TCP)
|
|
// 2. local (in memory)
|
|
// 3. gRPC
|
|
//
|
|
// ## Socket client
|
|
//
|
|
// The client blocks for enqueuing the request, for enqueuing the
|
|
// Flush to send the request, and for the Flush response to return.
|
|
//
|
|
// ## Local client
|
|
//
|
|
// The global mutex is locked during each call
|
|
//
|
|
// ## gRPC client
|
|
//
|
|
// The client waits for all calls to complete.
|
|
package abciclient
|