Jonathan Hart | 6df9017 | 2014-04-03 10:13:11 -0700 | [diff] [blame] | 1 | package net.onrc.onos.core.datastore; |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 2 | |
Jonathan Hart | 6df9017 | 2014-04-03 10:13:11 -0700 | [diff] [blame] | 3 | import net.onrc.onos.core.datastore.hazelcast.HZClient; |
| 4 | import net.onrc.onos.core.datastore.ramcloud.RCClient; |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 5 | |
Yuta HIGUCHI | 6a64313 | 2014-03-18 22:39:27 -0700 | [diff] [blame] | 6 | // This class probably need to be a service |
Ray Milkey | 1584ec8 | 2014-04-10 11:58:30 -0700 | [diff] [blame] | 7 | public final class DataStoreClient { |
Yuta HIGUCHI | d395b93 | 2014-05-01 15:15:20 -0700 | [diff] [blame] | 8 | |
| 9 | public static final int MAX_KEY_BYTES = 64 * 1024; |
| 10 | public static final int MAX_VALUE_BYTES = 1024 * 1024; |
| 11 | |
Jonathan Hart | 6df9017 | 2014-04-03 10:13:11 -0700 | [diff] [blame] | 12 | private static final String BACKEND = System.getProperty("net.onrc.onos.core.datastore.backend", "hazelcast"); |
Yuta HIGUCHI | 6a64313 | 2014-03-18 22:39:27 -0700 | [diff] [blame] | 13 | |
| 14 | // Suppresses default constructor, ensuring non-instantiability. |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame] | 15 | private DataStoreClient() { |
| 16 | } |
Yuta HIGUCHI | 6a64313 | 2014-03-18 22:39:27 -0700 | [diff] [blame] | 17 | |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 18 | public static IKVClient getClient() { |
Yuta HIGUCHI | 826b4a4 | 2014-03-24 13:10:33 -0700 | [diff] [blame] | 19 | // TODO read config and return appropriate IKVClient |
| 20 | switch (BACKEND) { |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame] | 21 | case "ramcloud": |
| 22 | return RCClient.getClient(); |
| 23 | case "hazelcast": |
| 24 | return HZClient.getClient(); |
| 25 | default: |
| 26 | return HZClient.getClient(); |
Yuta HIGUCHI | 826b4a4 | 2014-03-24 13:10:33 -0700 | [diff] [blame] | 27 | } |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 28 | } |
Yuta HIGUCHI | 6a64313 | 2014-03-18 22:39:27 -0700 | [diff] [blame] | 29 | |
| 30 | |
Yuta HIGUCHI | 66ca1bf | 2014-03-12 18:34:09 -0700 | [diff] [blame] | 31 | } |