2017-05-09 12:40:18 +02:00
|
|
|
/*
|
|
|
|
Package server is used to start a new ABCI server.
|
|
|
|
|
|
|
|
It contains two server implementation:
|
|
|
|
* gRPC server
|
|
|
|
* socket server
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2015-11-02 07:39:53 -08:00
|
|
|
package server
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
2018-06-22 06:59:02 +02:00
|
|
|
"github.com/tendermint/tendermint/abci/types"
|
2018-07-01 22:36:49 -04:00
|
|
|
cmn "github.com/tendermint/tendermint/libs/common"
|
2015-11-02 07:39:53 -08:00
|
|
|
)
|
|
|
|
|
2017-01-23 20:26:17 -08:00
|
|
|
func NewServer(protoAddr, transport string, app types.Application) (cmn.Service, error) {
|
|
|
|
var s cmn.Service
|
2016-05-18 18:30:38 -04:00
|
|
|
var err error
|
|
|
|
switch transport {
|
|
|
|
case "socket":
|
2017-05-15 12:51:24 -04:00
|
|
|
s = NewSocketServer(protoAddr, app)
|
2016-05-18 18:30:38 -04:00
|
|
|
case "grpc":
|
2017-05-15 12:51:24 -04:00
|
|
|
s = NewGRPCServer(protoAddr, types.NewGRPCApplication(app))
|
2015-11-02 07:39:53 -08:00
|
|
|
default:
|
2016-05-18 18:30:38 -04:00
|
|
|
err = fmt.Errorf("Unknown server type %s", transport)
|
2015-11-02 07:39:53 -08:00
|
|
|
}
|
2016-05-18 18:30:38 -04:00
|
|
|
return s, err
|
2015-11-02 07:39:53 -08:00
|
|
|
}
|