Mercurial > hg4j
diff src/org/tmatesoft/hg/internal/ByteArrayChannel.java @ 608:e1b29756f901
Clean, organize and resolve some TODOs and FIXMEs: minor refactorings and comments
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 07 May 2013 21:27:51 +0200 |
parents | 1a7a9a20e1f9 |
children |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/internal/ByteArrayChannel.java Tue May 07 16:52:46 2013 +0200 +++ b/src/org/tmatesoft/hg/internal/ByteArrayChannel.java Tue May 07 21:27:51 2013 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 TMate Software Ltd + * Copyright (c) 2011-2013 TMate Software Ltd * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,7 +23,8 @@ import org.tmatesoft.hg.util.ByteChannel; /** - * + * {@link ByteChannel} implementation that serializes data into a byte array + * * @author Artem Tikhomirov * @author TMate Software Ltd. */ @@ -48,7 +49,10 @@ } } - // TODO document what happens on write after toArray() in each case + /* + * {@link #toArray()} calls do not clear data collected so far, subsequent {@link #write(ByteBuffer)} + * augment collected content. + */ public int write(ByteBuffer buffer) { int rv = buffer.remaining(); if (buffers == null) { @@ -58,9 +62,13 @@ copy.put(buffer); buffers.add(copy); } + result = null; return rv; } + /** + * @return content accumulated so far + */ public byte[] toArray() { if (result != null) { return result; @@ -84,7 +92,6 @@ bb.get(result, off, bb.limit()); off += bb.limit(); } - buffers.clear(); return result; } }