當前位置: 首頁>>代碼示例>>Golang>>正文


Golang codec.Codec類代碼示例

本文整理匯總了Golang中github.com/shiftcurrency/shift/rpc/codec.Codec的典型用法代碼示例。如果您正苦於以下問題:Golang Codec類的具體用法?Golang Codec怎麽用?Golang Codec使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Codec類的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: NewWeb3Api

// create a new web3 api instance
func NewWeb3Api(xeth *xeth.XEth, coder codec.Codec) *web3Api {
	return &web3Api{
		xeth:    xeth,
		methods: Web3Mapping,
		codec:   coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:8,代碼來源:web3.go

示例2: NewHttpClient

// Create a new in process client
func NewHttpClient(cfg HttpConfig, c codec.Codec) *httpClient {
	return &httpClient{
		address: cfg.ListenAddress,
		port:    cfg.ListenPort,
		codec:   c.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:8,代碼來源:http.go

示例3: NewMinerApi

// create a new miner api instance
func NewMinerApi(ethereum *eth.Ethereum, coder codec.Codec) *minerApi {
	return &minerApi{
		ethereum: ethereum,
		methods:  MinerMapping,
		codec:    coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:8,代碼來源:miner.go

示例4: NewDebugApi

// create a new debug api instance
func NewDebugApi(xeth *xeth.XEth, ethereum *eth.Ethereum, coder codec.Codec) *debugApi {
	return &debugApi{
		xeth:     xeth,
		ethereum: ethereum,
		methods:  DebugMapping,
		codec:    coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:9,代碼來源:debug.go

示例5: NewShhApi

// create a new whisper api instance
func NewShhApi(xeth *xeth.XEth, eth *eth.Ethereum, coder codec.Codec) *shhApi {
	return &shhApi{
		xeth:     xeth,
		ethereum: eth,
		methods:  shhMapping,
		codec:    coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:9,代碼來源:shh.go

示例6: NewPersonalApi

// create a new net api instance
func NewPersonalApi(xeth *xeth.XEth, eth *eth.Ethereum, coder codec.Codec) *personalApi {
	return &personalApi{
		xeth:     xeth,
		ethereum: eth,
		methods:  personalMapping,
		codec:    coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:9,代碼來源:personal.go

示例7: NewTxPoolApi

// create a new txpool api instance
func NewTxPoolApi(xeth *xeth.XEth, eth *eth.Ethereum, coder codec.Codec) *txPoolApi {
	return &txPoolApi{
		xeth:     xeth,
		ethereum: eth,
		methods:  txpoolMapping,
		codec:    coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:9,代碼來源:txpool.go

示例8: NewNetApi

// create a new net api instance
func NewNetApi(xeth *xeth.XEth, eth *eth.Ethereum, coder codec.Codec) *netApi {
	return &netApi{
		xeth:     xeth,
		ethereum: eth,
		methods:  netMapping,
		codec:    coder.New(nil),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:9,代碼來源:net.go

示例9: handle

func handle(id int, conn net.Conn, api shared.EthereumApi, c codec.Codec) {
	codec := c.New(conn)

	for {
		requests, isBatch, err := codec.ReadRequest()
		if err == io.EOF {
			codec.Close()
			return
		} else if err != nil {
			codec.Close()
			glog.V(logger.Debug).Infof("Closed IPC Conn %06d recv err - %v\n", id, err)
			return
		}

		if isBatch {
			responses := make([]*interface{}, len(requests))
			responseCount := 0
			for _, req := range requests {
				res, err := api.Execute(req)
				if req.Id != nil {
					rpcResponse := shared.NewRpcResponse(req.Id, req.Jsonrpc, res, err)
					responses[responseCount] = rpcResponse
					responseCount += 1
				}
			}

			err = codec.WriteResponse(responses[:responseCount])
			if err != nil {
				codec.Close()
				glog.V(logger.Debug).Infof("Closed IPC Conn %06d send err - %v\n", id, err)
				return
			}
		} else {
			var rpcResponse interface{}
			res, err := api.Execute(requests[0])

			rpcResponse = shared.NewRpcResponse(requests[0].Id, requests[0].Jsonrpc, res, err)
			err = codec.WriteResponse(rpcResponse)
			if err != nil {
				codec.Close()
				glog.V(logger.Debug).Infof("Closed IPC Conn %06d send err - %v\n", id, err)
				return
			}
		}
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:46,代碼來源:comms.go

示例10: NewAdminApi

// create a new admin api instance
func NewAdminApi(xeth *xeth.XEth, ethereum *eth.Ethereum, codec codec.Codec) *adminApi {
	return &adminApi{
		xeth:     xeth,
		ethereum: ethereum,
		codec:    codec,
		coder:    codec.New(nil),
		ds:       docserver.New("/"),
	}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:10,代碼來源:admin.go

示例11: newIpcClient

func newIpcClient(cfg IpcConfig, codec codec.Codec) (*ipcClient, error) {
	c, err := Dial(cfg.Endpoint)
	if err != nil {
		return nil, err
	}

	coder := codec.New(c)
	msg := shared.Request{
		Id:      0,
		Method:  useragent.EnableUserAgentMethod,
		Jsonrpc: shared.JsonRpcVersion,
		Params:  []byte("[]"),
	}

	coder.WriteResponse(msg)
	coder.Recv()

	return &ipcClient{cfg.Endpoint, c, codec, coder}, nil
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:19,代碼來源:ipc_windows.go

示例12: NewEthApi

// create new ethApi instance
func NewEthApi(xeth *xeth.XEth, eth *eth.Ethereum, codec codec.Codec) *ethApi {
	return &ethApi{xeth, eth, ethMapping, codec.New(nil)}
}
開發者ID:codeaudit,項目名稱:shift,代碼行數:4,代碼來源:eth.go


注:本文中的github.com/shiftcurrency/shift/rpc/codec.Codec類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。