-
Notifications
You must be signed in to change notification settings - Fork 8.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move Blockstorage code under /fabric/common package
https://jira.hyperledger.org/browse/FAB-2022 This changes introduced by this CR - Moves the block storage code from package core/ledger/blkstorage to common/ledger/blkstorage - Splits the ledger_interface.go so as to move common interfaces and data type to common/ledger package - Moves some of the util functions to common/ledger package - Moves core/ledger/ordererledger package to orderer/ledger/fsledger orderer folks can futher rename/refactor this as seems suitable to them Change-Id: I759e16f00dc2ec9bb62196121083cf48eae76948 Signed-off-by: manish <manish.sethi@gmail.com>
- Loading branch information
1 parent
e67a238
commit 2a16532
Showing
82 changed files
with
626 additions
and
490 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
/* | ||
Copyright IBM Corp. 2016 All Rights Reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package ledger | ||
|
||
import ( | ||
"github.com/hyperledger/fabric/protos/common" | ||
) | ||
|
||
// Ledger captures the methods that are common across the 'PeerLedger', 'OrdererLedger', and 'ValidatedLedger' | ||
type Ledger interface { | ||
// GetBlockchainInfo returns basic info about blockchain | ||
GetBlockchainInfo() (*common.BlockchainInfo, error) | ||
// GetBlockByNumber returns block at a given height | ||
// blockNumber of math.MaxUint64 will return last block | ||
GetBlockByNumber(blockNumber uint64) (*common.Block, error) | ||
// GetBlocksIterator returns an iterator that starts from `startBlockNumber`(inclusive). | ||
// The iterator is a blocking iterator i.e., it blocks till the next block gets available in the ledger | ||
// ResultsIterator contains type BlockHolder | ||
GetBlocksIterator(startBlockNumber uint64) (ResultsIterator, error) | ||
// Close closes the ledger | ||
Close() | ||
// Commit adds a new block | ||
Commit(block *common.Block) error | ||
} | ||
|
||
// ResultsIterator - an iterator for query result set | ||
type ResultsIterator interface { | ||
// Next returns the next item in the result set. The `QueryResult` is expected to be nil when | ||
// the iterator gets exhausted | ||
Next() (QueryResult, error) | ||
// Close releases resources occupied by the iterator | ||
Close() | ||
} | ||
|
||
// QueryResult - a general interface for supporting different types of query results. Actual types differ for different queries | ||
type QueryResult interface{} | ||
|
||
// BlockHolder holds block returned by the iterator in GetBlocksIterator. | ||
// The sole purpose of this holder is to avoid desrialization if block is desired in raw bytes form (e.g., for transfer) | ||
type BlockHolder interface { | ||
GetBlock() *common.Block | ||
GetBlockBytes() []byte | ||
} | ||
|
||
// PrunePolicy - a general interface for supporting different pruning policies | ||
type PrunePolicy interface{} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.