FaultHidingSink.java 源代码
package com.mbridge.msdk.thrid.okhttp.internal.cache;
import com.mbridge.msdk.thrid.okio.Buffer;
import com.mbridge.msdk.thrid.okio.ForwardingSink;
import com.mbridge.msdk.thrid.okio.Sink;
import java.io.IOException;
class FaultHidingSink extends ForwardingSink {
private boolean hasErrors;
public FaultHidingSink(Sink sink) {
super(sink);
}
@Override
public void close() throws IOException {
if (this.hasErrors) {
return;
}
try {
super.close();
} catch (IOException e6) {
this.hasErrors = true;
onException(e6);
}
}
@Override
public void flush() throws IOException {
if (this.hasErrors) {
return;
}
try {
super.flush();
} catch (IOException e6) {
this.hasErrors = true;
onException(e6);
}
}
protected void onException(IOException iOException) {
}
@Override
public void write(Buffer buffer, long j6) throws IOException {
if (this.hasErrors) {
buffer.skip(j6);
return;
}
try {
super.write(buffer, j6);
} catch (IOException e6) {
this.hasErrors = true;
onException(e6);
}
}
}