 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
var (
	DefaultVersion1_0_0 = NewDefaultVersion(1, 0, 0)
)
    Functions ¶
This section is empty.
Types ¶
type Application ¶ added in v1.4.5
type Application interface {
	Version
	App() string
	Compatible(Application) error
	Before(Application) bool
}
    Application defines what is needed to describe a versioned Application.
func NewApplication ¶ added in v1.4.5
func NewApplication( app string, appSeparator string, versionSeparator string, major int, minor int, patch int, ) Application
NewApplication returns a new version
func NewDefaultApplication ¶ added in v1.4.5
func NewDefaultApplication( app string, major int, minor int, patch int, ) Application
NewDefaultApplication returns a new version with default separators
type ApplicationParser ¶ added in v1.4.5
type ApplicationParser interface {
	Parse(string) (Application, error)
}
    ApplicationParser defines the interface of an ApplicationVersion parser
func NewApplicationParser ¶ added in v1.4.5
func NewApplicationParser(appSeparator string, versionSeparator string) ApplicationParser
NewApplicationParser returns a new parser
func NewDefaultApplicationParser ¶ added in v1.4.5
func NewDefaultApplicationParser() ApplicationParser
NewDefaultApplicationParser returns a new parser with the default separators
type Compatibility ¶ added in v1.3.2
type Compatibility interface {
	// Returns the local version
	Version() Application
	// Returns nil if the provided version is able to connect with the local
	// version. This means that the node will keep connections open with the
	// peer.
	Connectable(Application) error
	// Returns nil if the provided version is compatible with the local version.
	// This means that the version is connectable and that consensus messages
	// can be made to them.
	Compatible(Application) error
	// Returns nil if the provided version shouldn't be masked. This means that
	// the version is connectable but not compatible. The version is so old that
	// it should just be masked.
	Unmaskable(Application) error
	// Returns nil if the provided version will not be masked by this version.
	WontMask(Application) error
	// Returns when additional masking will occur.
	MaskTime() time.Time
}
    Compatibility a utility for checking the compatibility of peer versions
func NewCompatibility ¶ added in v1.3.2
func NewCompatibility( version Application, minCompatable Application, minCompatableTime time.Time, prevMinCompatable Application, minUnmaskable Application, minUnmaskableTime time.Time, prevMinUnmaskable Application, ) Compatibility
NewCompatibility returns a compatibility checker with the provided options
type Parser ¶
Parser defines the interface of a Version parser
func NewDefaultParser ¶
func NewDefaultParser() Parser
 Click to show internal directories. 
   Click to hide internal directories.