当前位置: 首页>>代码示例>>Golang>>正文


Golang codec.Codec类代码示例

本文整理汇总了Golang中github.com/expanse-project/go-expanse/rpc/codec.Codec的典型用法代码示例。如果您正苦于以下问题:Golang Codec类的具体用法?Golang Codec怎么用?Golang Codec使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Codec类的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类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。