Package Usage: go: github.com/TRON-US/go-btfs-cmds
Package cmds helps building both standalone and client-server
applications.
The basic building blocks are requests, commands, emitters and
responses. A command consists of a description of the
parameters and a function. The function is passed the request
as well as an emitter as arguments. It does operations on the
inputs and sends the results to the user by emitting them.
There are a number of emitters in this package and
subpackages, but the user is free to create their own.
A command is a struct containing the commands help text, a
description of the arguments and options, the command's
processing function and a type to let the caller know what
type will be emitted. Optionally one of the functions PostRun
and Encoder may be defined that consumes the function's
emitted values and generates a visual representation for e.g.
the terminal. Encoders work on a value-by-value basis, while
PostRun operates on the value stream.
An emitter has the Emit method, that takes the command's
function's output as an argument and passes it to the user.
The command's function does not know what kind of emitter it
works with, so the same function may run locally or on a
server, using an rpc interface. Emitters can also send errors
using the SetError method.
The user-facing emitter usually is the cli emitter. Values
emitter here will be printed to the terminal using either the
Encoders or the PostRun function.
A response is a value that the user can read emitted values
from.
Responses have a method Next() that returns the next
emitted value and an error value. If the last element has been
received, the returned error value is io.EOF. If the
application code has sent an error using SetError, the error
ErrRcvdError is returned on next, indicating that the caller
should call Error(). Depending on the reponse type, other
errors may also occur.
Pipes are pairs (emitter, response), such that a value emitted
on the emitter can be received in the response value. Most
builtin emitters are "pipe" emitters. The most prominent
examples are the channel pipe and the http pipe.
The channel pipe is backed by a channel. The only error value
returned by the response is io.EOF, which happens when the
channel is closed.
The http pipe is backed by an http connection. The response
can also return other errors, e.g. if there are errors on the
network.
To get a better idea of what's going on, take a look at the
examples at
https://github.com/TRON-US/go-btfs-cmds/tree/master/examples.
36 versions
Latest release: about 4 years ago
3 dependent packages
View more package details: https://packages.ecosyste.ms/registries/proxy.golang.org/packages/github.com/TRON-US/go-btfs-cmds
View more repository details: http://repos.ecosyste.ms/hosts/GitHub/repositories/TRON-US%2Fgo-btfs-cmds
Dependent Repos 7
simbadMarino/btfs-sharedLib
go-btfs fork, we bake shared libraries for iOS, Android, Windows & Web Assembly eventually ;)Size: 90.5 MB - Last synced: about 1 month ago - Pushed: about 1 month ago

tamago7/go-btfs Fork of TRON-US/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 236 MB - Last synced: over 1 year ago - Pushed: over 1 year ago

TRON-US/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 249 MB - Last synced: 5 months ago - Pushed: about 2 years ago


System-of-Charety/go-btfs Fork of bittorrent/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 243 MB - Last synced: 11 months ago - Pushed: about 2 years ago

goukey/go-btfs Fork of bittorrent/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 259 MB - Last synced: about 1 month ago - Pushed: about 1 month ago

bittorrent/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 253 MB - Last synced: 10 days ago - Pushed: 10 days ago


BlakeFunTeis/golang-disposable-wallet-manager
An all-in-one wallet management system supporting multiple digital assets and user authentication.Size: 239 KB - Last synced: about 2 years ago - Pushed: about 2 years ago

Jbekker/go-btfs Fork of TRON-US/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 231 MB - Last synced: about 1 year ago - Pushed: about 1 year ago

Ameralameri/go-btfs Fork of bittorrent/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 253 MB - Last synced: 11 months ago - Pushed: over 1 year ago

GDiving/go-btfs Fork of bittorrent/go-btfs
BTFS - The First Scalable Decentralized Storage System - A Foundational Platform for Decentralized ApplicationsSize: 249 MB - Last synced: over 1 year ago - Pushed: about 2 years ago
