mtsatellite/interleaver/interfaces.go

33 lines
568 B
Go
Raw Normal View History

// Copyright 2014 by Sascha L. Teichmann
// Use of this source code is governed by the MIT license
// that can be found in the LICENSE file.
package main
import (
"errors"
2014-08-19 12:23:33 +02:00
"bitbucket.org/s_l_teichmann/mtredisalize/common"
)
var NoMoreBlocksErr = errors.New("No more blocks.")
type (
Block struct {
Coord common.Coord
Data []byte
}
BlocKProducer interface {
2014-08-19 12:23:33 +02:00
// Returns next block.
// error is NoMoreBlocksErr if it run out of blocks.
Next() (Block, error)
Close() error
}
BlockConsumer interface {
Consume(Block) error
Close() error
}
)