Files
briar/components/net/sf/briar/protocol/writers/PacketWriterFactoryImpl.java
akwizgran fb95565880 Use the BouncyCastle provider so we can be sure we won't get
NoSuchAlgorithmExceptions. Key generation is *slow* - I guess that's a
good sign. ;-)
2011-07-25 10:38:46 +01:00

44 lines
1.3 KiB
Java

package net.sf.briar.protocol.writers;
import java.io.OutputStream;
import java.security.MessageDigest;
import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.protocol.writers.AckWriter;
import net.sf.briar.api.protocol.writers.BatchWriter;
import net.sf.briar.api.protocol.writers.PacketWriterFactory;
import net.sf.briar.api.protocol.writers.SubscriptionWriter;
import net.sf.briar.api.protocol.writers.TransportWriter;
import net.sf.briar.api.serial.WriterFactory;
import com.google.inject.Inject;
class PacketWriterFactoryImpl implements PacketWriterFactory {
private final MessageDigest messageDigest;
private final WriterFactory writerFactory;
@Inject
PacketWriterFactoryImpl(CryptoComponent crypto,
WriterFactory writerFactory) {
messageDigest = crypto.getMessageDigest();
this.writerFactory = writerFactory;
}
public AckWriter createAckWriter(OutputStream out) {
return new AckWriterImpl(out, writerFactory);
}
public BatchWriter createBatchWriter(OutputStream out) {
return new BatchWriterImpl(out, writerFactory, messageDigest);
}
public SubscriptionWriter createSubscriptionWriter(OutputStream out) {
return new SubscriptionWriterImpl(out, writerFactory);
}
public TransportWriter createTransportWriter(OutputStream out) {
return new TransportWriterImpl(out, writerFactory);
}
}