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


Golang Codec.New方法代碼示例

本文整理匯總了Golang中github.com/expanse-project/go-expanse/rpc/codec.Codec.New方法的典型用法代碼示例。如果您正苦於以下問題:Golang Codec.New方法的具體用法?Golang Codec.New怎麽用?Golang Codec.New使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/expanse-project/go-expanse/rpc/codec.Codec的用法示例。


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

示例1: NewMinerApi

// create a new miner api instance
func NewMinerApi(expanse *exp.Expanse, coder codec.Codec) *minerApi {
	return &minerApi{
		expanse: expanse,
		methods: MinerMapping,
		codec:   coder.New(nil),
	}
}
開發者ID:este-xx,項目名稱:go-expanse,代碼行數:8,代碼來源:miner.go

示例2: 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:Cisko-Rijken,項目名稱:go-expanse,代碼行數:8,代碼來源:web3.go

示例3: 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:este-xx,項目名稱:go-expanse,代碼行數:8,代碼來源:http.go

示例4: NewTxPoolApi

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

示例5: NewPersonalApi

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

示例6: NewDbApi

// create a new db api instance
func NewDbApi(xeth *xeth.XEth, expanse *exp.Expanse, coder codec.Codec) *dbApi {
	return &dbApi{
		xeth:    xeth,
		expanse: expanse,
		methods: DbMapping,
		codec:   coder.New(nil),
	}
}
開發者ID:Cisko-Rijken,項目名稱:go-expanse,代碼行數:9,代碼來源:db.go

示例7: NewShhApi

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

示例8: NewNetApi

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

示例9: handle

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

	defer func() {
		if r := recover(); r != nil {
			glog.Errorf("panic: %v\n", r)
		}
		codec.Close()
	}()

	for {
		requests, isBatch, err := codec.ReadRequest()
		if err == io.EOF {
			return
		} else if err != nil {
			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 {
				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 {
				glog.V(logger.Debug).Infof("Closed IPC Conn %06d send err - %v\n", id, err)
				return
			}
		}
	}
}
開發者ID:Cisko-Rijken,項目名稱:go-expanse,代碼行數:49,代碼來源:comms.go

示例10: NewAdminApi

// create a new admin api instance
func NewAdminApi(xeth *xeth.XEth, expanse *exp.Expanse, codec codec.Codec) *adminApi {
	return &adminApi{
		xeth:    xeth,
		expanse: expanse,
		codec:   codec,
		coder:   codec.New(nil),
	}
}
開發者ID:Cisko-Rijken,項目名稱:go-expanse,代碼行數:9,代碼來源:admin.go

示例11: newIpcClient

func newIpcClient(cfg IpcConfig, codec codec.Codec) (*ipcClient, error) {
	c, err := net.DialUnix("unix", nil, &net.UnixAddr{cfg.Endpoint, "unix"})
	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:este-xx,項目名稱:go-expanse,代碼行數:19,代碼來源:ipc_unix.go

示例12: NewEthApi

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


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