123456789101112131415161718192021222324252627282930313233343536373839 |
- // Copyright 2017 Docker, Inc.
- //
- // 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
- //
- // https://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 digest
- import "hash"
- // Digester calculates the digest of written data. Writes should go directly
- // to the return value of Hash, while calling Digest will return the current
- // value of the digest.
- type Digester interface {
- Hash() hash.Hash // provides direct access to underlying hash instance.
- Digest() Digest
- }
- // digester provides a simple digester definition that embeds a hasher.
- type digester struct {
- alg Algorithm
- hash hash.Hash
- }
- func (d *digester) Hash() hash.Hash {
- return d.hash
- }
- func (d *digester) Digest() Digest {
- return NewDigest(d.alg, d.hash)
- }
|