client

package
v0.0.0-...-5061698 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2019 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Overview

Package client는 paust-db의 read, write를 위한 go client library임

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	// Put는 InputDataObj slice의 데이터를 write하고 그 결과를 tendermint의 ResultBroadcastTx로 return.
	Put(dataObjs []InputDataObj) (*ctypes.ResultBroadcastTx, error)

	// Query는 start와 end사이에 있는 데이터의 metadata를 ResultABCIQuery에 담아서 return.
	// ownerKey와 qualifier가 명시된 경우 해당 ownerKey, qualifier와 일치하는 데이터만을 read.
	// ResultABCIQuery.Response.Value에 실제 read한 데이터가 OutputQueryObj의 slice로 담겨있음.
	Query(start uint64, end uint64, ownerKey []byte, qualifier []byte) (*ctypes.ResultABCIQuery, error)

	// Fetch는 InputFetchObj와 일치하는 데이터를 tendermint의 ResultABCIQuery에 담아서 return.
	// ResultABCIQuery.Response.Value에 실제 read한 데이터가 OutputFetchObj의 slice로 담겨있음.
	Fetch(fetchObj InputFetchObj) (*ctypes.ResultABCIQuery, error)
}

Client는 paust-db와 communicate하는 기본적인 client임

type HTTPClient

type HTTPClient struct {
	// contains filtered or unexported fields
}

HTTPClient is a HTTP jsonrpc implementation of Client.

func NewHTTPClient

func NewHTTPClient(remote string) *HTTPClient

NewHTTPClient creates HTTPClient with the given remote address.

func (*HTTPClient) Fetch

func (client *HTTPClient) Fetch(fetchObj InputFetchObj) (*ctypes.ResultABCIQuery, error)

func (*HTTPClient) Put

func (client *HTTPClient) Put(dataObjs []InputDataObj) (*ctypes.ResultBroadcastTx, error)

func (*HTTPClient) Query

func (client *HTTPClient) Query(start uint64, end uint64, ownerKey []byte, qualifier []byte) (*ctypes.ResultABCIQuery, error)

type InputDataObj

type InputDataObj struct {
	Timestamp uint64 `json:"timestamp"`
	OwnerKey  []byte `json:"ownerKey"`
	Qualifier []byte `json:"qualifier"`
	Data      []byte `json:"data"`
}

InputDataObj는 Put function의 write model. Timestamp는 unix timestamp이며 단위는 nano second임. OwnerKey는 ed25519 public key이며 32byte.

type InputFetchObj

type InputFetchObj struct {
	Ids [][]byte `json:"ids"`
}

InputFetchObj는 Fetch function의 read model. Id는 data의 고유한 id.

type OutputFetchObj

type OutputFetchObj struct {
	Id        []byte `json:"id"`
	Timestamp uint64 `json:"timestamp"`
	Data      []byte `json:"data"`
}

OutputFetchObj는 Fetch function의 result data type. Id는 data의 고유한 id. Timestamp는 unix timestamp이며 단위는 nano second임.

type OutputQueryObj

type OutputQueryObj struct {
	Id        []byte `json:"id"`
	Timestamp uint64 `json:"timestamp"`
	OwnerKey  []byte `json:"ownerKey"`
	Qualifier []byte `json:"qualifier"`
}

OutputQueryObj는 Query function의 result data type. Id는 data의 고유한 id. Timestamp는 unix timestamp이며 단위는 nano second임. OwnerKey는 ed25519 public key이며 32byte.

Directories

Path Synopsis
cmd
Package util은 paust-db/client package를 사용함에 있어서 편리한 tool을 제공함.
Package util은 paust-db/client package를 사용함에 있어서 편리한 tool을 제공함.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL