package com.nominanuda.zen.reactivestreams;
import java.io.IOException;
import java.io.Writer;
public class BlockingWriterSink extends BlockingSink<String> {
private final Writer w;
public BlockingWriterSink(Writer w) {
this.w = w;
}
@Override
public void onError(Throwable t) {
try {
w.close();
} catch (IOException e) {
}
}
@Override
public void onComplete() {
try {
w.close();
} catch (IOException e) {
}
}
@Override
protected void blockingOp(String t) throws Exception {
try {
w.write(t);
} catch (Exception e) {
subscription.cancel();
}
}
}