Skip to content

Commit

Permalink
add a new constructor for chunkReader to avoid line noise
Browse files Browse the repository at this point in the history
  • Loading branch information
igorbernstein2 committed Oct 16, 2023
1 parent 8b3b0de commit 1c0bbfb
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
9 changes: 8 additions & 1 deletion bigtable/bigtable.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,14 @@ func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts
if err != nil {
return err
}
cr := newChunkReader(req.Reversed)

var cr *chunkReader
if req.Reversed {
cr = newReverseChunkReader()
} else {
cr = newChunkReader()
}

for {
res, err := stream.Recv()
if err == io.EOF {
Expand Down
9 changes: 7 additions & 2 deletions bigtable/reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,15 @@ type chunkReader struct {
}

// newChunkReader returns a new chunkReader for handling read rows responses.
func newChunkReader(reversed bool) *chunkReader {
return &chunkReader{reversed: reversed, state: newRow}
func newChunkReader() *chunkReader {
return &chunkReader{reversed: false, state: newRow}
}

func newReverseChunkReader() *chunkReader {
return &chunkReader{reversed: true, state: newRow}
}


// Process takes a cell chunk and returns a new Row if the given chunk
// completes a Row, or nil otherwise.
func (cr *chunkReader) Process(cc *btpb.ReadRowsResponse_CellChunk) (Row, error) {
Expand Down

0 comments on commit 1c0bbfb

Please sign in to comment.