rpcserver: parameterize acceptortimeout
This commit is contained in:
parent
b03c3c2df3
commit
5ab7dd89e7
@ -125,6 +125,10 @@ const (
|
||||
// HTLCs on our channels.
|
||||
minTimeLockDelta = 4
|
||||
|
||||
// defaultAcceptorTimeout is the time after which an RPCAcceptor will time
|
||||
// out and return false if it hasn't yet received a response.
|
||||
defaultAcceptorTimeout = 15 * time.Second
|
||||
|
||||
defaultAlias = ""
|
||||
defaultColor = "#3399FF"
|
||||
)
|
||||
@ -252,6 +256,7 @@ type config struct {
|
||||
LogDir string `long:"logdir" description:"Directory to log output."`
|
||||
MaxLogFiles int `long:"maxlogfiles" description:"Maximum logfiles to keep (0 for no rotation)"`
|
||||
MaxLogFileSize int `long:"maxlogfilesize" description:"Maximum logfile size in MB"`
|
||||
AcceptorTimeout time.Duration `long:"acceptortimeout" description:"Time after which an RPCAcceptor will time out and return false if it hasn't yet received a response"`
|
||||
|
||||
// We'll parse these 'raw' string arguments into real net.Addrs in the
|
||||
// loadConfig function. We need to expose the 'raw' strings so the
|
||||
@ -370,6 +375,7 @@ func loadConfig() (*config, error) {
|
||||
LogDir: defaultLogDir,
|
||||
MaxLogFiles: defaultMaxLogFiles,
|
||||
MaxLogFileSize: defaultMaxLogFileSize,
|
||||
AcceptorTimeout: defaultAcceptorTimeout,
|
||||
Bitcoin: &chainConfig{
|
||||
MinHTLCIn: defaultBitcoinMinHTLCInMSat,
|
||||
MinHTLCOut: defaultBitcoinMinHTLCOutMSat,
|
||||
|
14
rpcserver.go
14
rpcserver.go
@ -82,12 +82,6 @@ var (
|
||||
// It is set to the value under the Bitcoin chain as default.
|
||||
MaxPaymentMSat = maxBtcPaymentMSat
|
||||
|
||||
// defaultAcceptorTimeout is the time after which an RPCAcceptor will time
|
||||
// out and return false if it hasn't yet received a response.
|
||||
//
|
||||
// TODO: Make this configurable
|
||||
defaultAcceptorTimeout = 15 * time.Second
|
||||
|
||||
// readPermissions is a slice of all entities that allow read
|
||||
// permissions for authorization purposes, all lowercase.
|
||||
readPermissions = []bakery.Op{
|
||||
@ -5846,14 +5840,14 @@ func (r *rpcServer) ChannelAcceptor(stream lnrpc.Lightning_ChannelAcceptorServer
|
||||
}
|
||||
|
||||
// timeout is the time after which ChannelAcceptRequests expire.
|
||||
timeout := time.After(defaultAcceptorTimeout)
|
||||
timeout := time.After(cfg.AcceptorTimeout)
|
||||
|
||||
// Send the request to the newRequests channel.
|
||||
select {
|
||||
case newRequests <- newRequest:
|
||||
case <-timeout:
|
||||
rpcsLog.Errorf("RPCAcceptor returned false - reached timeout of %d",
|
||||
defaultAcceptorTimeout)
|
||||
cfg.AcceptorTimeout)
|
||||
return false
|
||||
case <-quit:
|
||||
return false
|
||||
@ -5862,13 +5856,13 @@ func (r *rpcServer) ChannelAcceptor(stream lnrpc.Lightning_ChannelAcceptorServer
|
||||
}
|
||||
|
||||
// Receive the response and return it. If no response has been received
|
||||
// in defaultAcceptorTimeout, then return false.
|
||||
// in AcceptorTimeout, then return false.
|
||||
select {
|
||||
case resp := <-respChan:
|
||||
return resp
|
||||
case <-timeout:
|
||||
rpcsLog.Errorf("RPCAcceptor returned false - reached timeout of %d",
|
||||
defaultAcceptorTimeout)
|
||||
cfg.AcceptorTimeout)
|
||||
return false
|
||||
case <-quit:
|
||||
return false
|
||||
|
@ -22,6 +22,11 @@
|
||||
; Max log file size in MB before it is rotated.
|
||||
; maxlogfilesize=10
|
||||
|
||||
; Time after which an RPCAcceptor will time out and return false if
|
||||
; it hasn't yet received a response.
|
||||
; acceptortimeout=15s
|
||||
|
||||
|
||||
; Path to TLS certificate for lnd's RPC and REST services.
|
||||
; tlscertpath=~/.lnd/tls.cert
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user