blob: 8639e9a1282a5dab237e71ce14182a78bc08c94a [file] [log] [blame]
package org.apache.s4.comm;
import org.apache.s4.base.Hasher;
import org.apache.s4.base.SerializerDeserializer;
import org.apache.s4.comm.serialize.KryoSerDeser;
import org.apache.s4.comm.tcp.RemoteEmitters;
import org.apache.s4.comm.topology.Clusters;
import org.apache.s4.comm.topology.RemoteStreams;
import org.apache.s4.core.RemoteSenders;
import org.mockito.Mockito;
import com.google.common.collect.ImmutableMap;
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
/**
* Default configuration module for the communication layer. Parameterizable through a configuration file.
*
*/
public class BareCommModule extends AbstractModule {
public BareCommModule() {
super();
}
@Override
protected void configure() {
/* The hashing function to map keys top partitions. */
bind(Hasher.class).to(DefaultHasher.class);
/* Use Kryo to serialize events. */
bind(SerializerDeserializer.class).to(KryoSerDeser.class);
bind(RemoteStreams.class).toInstance(Mockito.mock(RemoteStreams.class));
bind(RemoteSenders.class).toInstance(Mockito.mock(RemoteSenders.class));
bind(RemoteEmitters.class).toInstance(Mockito.mock(RemoteEmitters.class));
bind(RemoteEmitterFactory.class).toInstance(Mockito.mock(RemoteEmitterFactory.class));
bind(Clusters.class).toInstance(Mockito.mock(Clusters.class));
Names.bindProperties(binder(), ImmutableMap.of("cluster.name", "testCluster"));
}
}