comparison src/org/tmatesoft/hg/repo/Revlog.java @ 456:909306e412e2

Refactor LogFacility and SessionContext, better API for both
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Mon, 18 Jun 2012 16:54:00 +0200
parents 32184ddcf46d
children 7bcfbc255f48
comparison
equal deleted inserted replaced
454:36fd1fd06492 456:909306e412e2
15 * contact TMate Software at support@hg4j.com 15 * contact TMate Software at support@hg4j.com
16 */ 16 */
17 package org.tmatesoft.hg.repo; 17 package org.tmatesoft.hg.repo;
18 18
19 import static org.tmatesoft.hg.repo.HgRepository.*; 19 import static org.tmatesoft.hg.repo.HgRepository.*;
20 import static org.tmatesoft.hg.util.LogFacility.Severity.Warn;
20 21
21 import java.io.IOException; 22 import java.io.IOException;
22 import java.nio.ByteBuffer; 23 import java.nio.ByteBuffer;
23 import java.util.ArrayList; 24 import java.util.ArrayList;
24 import java.util.Arrays; 25 import java.util.Arrays;
430 buf.flip(); // post: position == 0 431 buf.flip(); // post: position == 0
431 // XXX I may not rely on returned number of bytes but track change in buf position instead. 432 // XXX I may not rely on returned number of bytes but track change in buf position instead.
432 433
433 int consumed = sink.write(buf); 434 int consumed = sink.write(buf);
434 if ((consumed == 0 || consumed != buf.position()) && logFacility != null) { 435 if ((consumed == 0 || consumed != buf.position()) && logFacility != null) {
435 logFacility.warn(getClass(), "Bad data sink when reading revision %d. Reported %d bytes consumed, byt actually read %d", revisionNumber, consumed, buf.position()); 436 logFacility.dump(getClass(), Warn, "Bad data sink when reading revision %d. Reported %d bytes consumed, byt actually read %d", revisionNumber, consumed, buf.position());
436 } 437 }
437 if (buf.position() == 0) { 438 if (buf.position() == 0) {
438 throw new HgInvalidStateException("Bad sink implementation (consumes no bytes) results in endless loop"); 439 throw new HgInvalidStateException("Bad sink implementation (consumes no bytes) results in endless loop");
439 } 440 }
440 buf.compact(); // ensure (a) there's space for new (b) data starts at 0 441 buf.compact(); // ensure (a) there's space for new (b) data starts at 0