Documentation ¶
Index ¶
- Constants
- func IsValidServicerIdentificationName(name string) bool
- type ChannelRelationship
- type PayRelayNode
- func (m PayRelayNode) Copy() *PayRelayNode
- func (m *PayRelayNode) Parse(buf []byte, seek uint32) (uint32, error)
- func (m PayRelayNode) PredictFeeForPay(payamt *fields.Amount, paysat *fields.Satoshi) (*fields.Amount, *fields.Satoshi)
- func (m PayRelayNode) Serialize() ([]byte, error)
- func (m PayRelayNode) Size() uint32
- type RoutingManager
- func (r *RoutingManager) FindNodeById(id uint32) *PayRelayNode
- func (r *RoutingManager) FindNodeByName(name string) *PayRelayNode
- func (p *RoutingManager) FlushAllNodesAndRelationshipToDiskUnsafe(datadir string, datanodes, datagraph *[]byte) error
- func (p *RoutingManager) ForceUpdataNodesAndRelationshipByJsonBytesUnsafe(databytes []byte, filenum uint32) error
- func (p *RoutingManager) ForceWriteAllNodesAndRelationshipToDiskUnsafe(datadir string, statbts, datanodes, datagraph []byte) error
- func (r *RoutingManager) GetUpdateLastestPageNum() uint32
- func (p *RoutingManager) LoadAllNodesAndRelationshipFormDisk(datadir string, datanodes, datagraph *[]byte) error
- func (p *RoutingManager) RebuildNodesAndRelationshipUnsafe(fnamety string, conbts []byte) error
- func (r *RoutingManager) SearchNodePath(startName, targetName string) ([][]*PayRelayNode, error)
- func (r *RoutingManager) UpdateLock()
- func (r *RoutingManager) UpdateUnlock()
Constants ¶
View Source
const ( NodeRoutesDataFileNameOfState = "state.dat" NodeRoutesDataFileNameOfNodes = "nodes.dat" NodeRoutesDataFileNameOfGraph = "graph.dat" )
Variables ¶
This section is empty.
Functions ¶
func IsValidServicerIdentificationName ¶
Is it a legal node name
Types ¶
type ChannelRelationship ¶
type ChannelRelationship struct { LeftNodeID fields.VarUint4 // Node 1 RightNodeID fields.VarUint4 // Node 2 }
*
- 通道连通关系
func (ChannelRelationship) Serialize ¶
func (c ChannelRelationship) Serialize() ([]byte, error)
type PayRelayNode ¶
type PayRelayNode struct { ID fields.VarUint4 `json:"id"` CountryCode fields.Bytes2 `json:"country_code"` // 城市 IdentificationName fields.StringMax255 `json:"identification_name"` // 服务识别码名称 FeeMin fields.Amount `json:"fee_min"` // 最低手续费 FeeRatio fields.VarUint4 `json:"fee_ratio"` // 最低比率 单位:一亿分之一 FeeMax fields.Amount `json:"fee_max"` // 最高手续费上限 Gateway1 fields.StringMax255 `json:"gateway_1"` // 服务网关域名 Gateway2 fields.StringMax255 `json:"gateway_2"` // 备用域名 OverdueTime fields.BlockTxTimestamp `json:"overdue_time"` // 注册服务过期时间 RegisterTime fields.BlockTxTimestamp `json:"register_time"` // 手册注册时间 }
*
- 支付路由节点
func (PayRelayNode) Copy ¶
func (m PayRelayNode) Copy() *PayRelayNode
func (PayRelayNode) PredictFeeForPay ¶
func (m PayRelayNode) PredictFeeForPay(payamt *fields.Amount, paysat *fields.Satoshi) (*fields.Amount, *fields.Satoshi)
Estimated service charge
func (PayRelayNode) Serialize ¶
func (m PayRelayNode) Serialize() ([]byte, error)
func (PayRelayNode) Size ¶
func (m PayRelayNode) Size() uint32
type RoutingManager ¶
type RoutingManager struct {
// contains filtered or unexported fields
}
func NewRoutingManager ¶
func NewRoutingManager() *RoutingManager
func (*RoutingManager) FindNodeById ¶
func (r *RoutingManager) FindNodeById(id uint32) *PayRelayNode
func (*RoutingManager) FindNodeByName ¶
func (r *RoutingManager) FindNodeByName(name string) *PayRelayNode
find node by name
func (*RoutingManager) FlushAllNodesAndRelationshipToDiskUnsafe ¶
func (p *RoutingManager) FlushAllNodesAndRelationshipToDiskUnsafe(datadir string, datanodes, datagraph *[]byte) error
*
- 将所有节点及关系表刷到磁盘永久保存
func (*RoutingManager) ForceUpdataNodesAndRelationshipByJsonBytesUnsafe ¶
func (p *RoutingManager) ForceUpdataNodesAndRelationshipByJsonBytesUnsafe(databytes []byte, filenum uint32) error
to update
func (*RoutingManager) ForceWriteAllNodesAndRelationshipToDiskUnsafe ¶
func (p *RoutingManager) ForceWriteAllNodesAndRelationshipToDiskUnsafe(datadir string, statbts, datanodes, datagraph []byte) error
*
- 保存到磁盘永久保存
func (*RoutingManager) GetUpdateLastestPageNum ¶
func (r *RoutingManager) GetUpdateLastestPageNum() uint32
func (*RoutingManager) LoadAllNodesAndRelationshipFormDisk ¶
func (p *RoutingManager) LoadAllNodesAndRelationshipFormDisk(datadir string, datanodes, datagraph *[]byte) error
*
- 从磁盘读取节点及关系表
func (*RoutingManager) RebuildNodesAndRelationshipUnsafe ¶
func (p *RoutingManager) RebuildNodesAndRelationshipUnsafe(fnamety string, conbts []byte) error
*
- 重建节点与关系数据
func (*RoutingManager) SearchNodePath ¶
func (r *RoutingManager) SearchNodePath(startName, targetName string) ([][]*PayRelayNode, error)
*
- 搜索路径
- 返回路径的节点路径表
- 只通过关系查找,不管容量
func (*RoutingManager) UpdateLock ¶
func (r *RoutingManager) UpdateLock()
func (*RoutingManager) UpdateUnlock ¶
func (r *RoutingManager) UpdateUnlock()
Click to show internal directories.
Click to hide internal directories.