github.com/GeniusesGroup/libgo@v0.0.0-20220929090155-5ff932cb408e/ganjine/manifest.go (about)

     1  /* For license and copyright information please see LEGAL file in repository */
     2  
     3  package ganjine
     4  
     5  // Manifest store Ganjine manifest data
     6  type Manifest struct {
     7  	DataCentersClass uint8 // 0:FirstClass 256:Low-Quality default:0
     8  
     9  	TotalZones       uint8  // ReplicationNumber, deafult:3
    10  	TotalNodesInZone uint32 // not count replicated nodes, just one of them count.
    11  
    12  	TransactionTimeOut uint16 // in ms, default:500ms, Max 65.535s timeout
    13  	NodeFailureTimeOut uint16 // in minute, default:60m, other corresponding node same range will replace failed node! not use in network failure, it is handy proccess!
    14  
    15  	CachePercent uint8 // GC cached records when reach this size limit!
    16  }
    17  
    18  // DataStructure State
    19  // https://en.wikipedia.org/wiki/Software_release_life_cycle
    20  const (
    21  	// DataStructureStatePreAlpha refers to all activities performed during the software project before formal testing.
    22  	DataStructureStatePreAlpha uint8 = iota
    23  	// DataStructureStateAlpha is the first phase to begin software testing
    24  	DataStructureStateAlpha
    25  	// DataStructureStateBeta generally begins when the software is feature complete but likely to contain a number of known or unknown bugs.
    26  	DataStructureStateBeta
    27  	// DataStructureStatePerpetualBeta where new features are continually added to the software without establishing a final "stable" release.
    28  	// This technique may allow a developer to delay offering full support and responsibility for remaining issues.
    29  	DataStructureStatePerpetualBeta
    30  	// DataStructureStateOpenBeta is for a larger group, or anyone interested.
    31  	DataStructureStateOpenBeta
    32  	// DataStructureStateClosedBeta is released to a restricted group of individuals for a user test by invitation.
    33  	DataStructureStateClosedBeta
    34  	// DataStructureStateReleaseCandidate also known as "going silver", is a beta version with potential to be a stable product,
    35  	// which is ready to release unless significant bugs emerge
    36  	DataStructureStateReleaseCandidate
    37  	// DataStructureStateStableRelease Also called production release,
    38  	// the stable release is the last release candidate (RC) which has passed all verifications / tests.
    39  	DataStructureStateStableRelease
    40  	// DataStructureStateEndOfLife indicate no longer supported and continue its existence until to ExpiryDate!
    41  	DataStructureStateEndOfLife
    42  )