public class CasInitCmd extends CmdBase implements Cmd<Boolean>
An Usage Example:
Supposing you want to initialize a variable to zero, you could write this as:
package com.example;
import ax.antpick.k2hdkc.*;
import com.sun.jna.*;
import com.sun.jna.ptr.*;
import java.io.IOException;
import java.util.*;
import java.util.stream.*;
public class App {
public static void main(String[] args) {
try (Cluster c = Cluster.of("cluster/slave.yaml");
Session s = Session.of(c); ) {
// 1. init
CasInitCmd init = CasInitCmd.of("key", 0);
System.out.println(init.execute(s).get().getValue()); // true
// 2. set
CasSetCmd set = CasSetCmd.of("key", 0, 1); // CasIncDecCmd should be used here.
System.out.println(set.execute(s).get().getValue()); // true
// 3. get
CasGetCmd get = CasGetCmd.of("key", Cmd.DataType.INT);
ByteArrayOutputStream bos = (ByteArrayOutputStream) get.execute(s).get().getValue();
assert (Cmd.getValusAsInt(bos.toByteArray()) == 1);
} catch (IOException ex) {
System.out.println(ex.getMessage());
assert (false);
}
}
}
You shoule see the "true" on stdout if you could successfully run it. Before running the code above, You should run three processes.
The following commands in this repository will run all processes you need in localhost.
$ cd cluster
$ sh start_server.sh
Cmd.DataType
DEFAULT_CHECK_PARENT_ATTRS, DEFAULT_EXPIRATION_DURATION, DEFAULT_IS_CHECK_PARENT_ATTRS, DEFAULT_IS_CLEAR_SUBKEYS, DEFAULT_IS_FIFO, DEFAULT_IS_INCREMENT, DEFAULT_NEED_RETURN_VALUE, DEFAULT_PARENT_KEY, DEFAULT_PASS, DEFAULT_REMOVE_ELEMENT_SIZE, DEFAULT_REMOVE_RECURSIVELY, DEFAULT_SUBKEYS
Modifier and Type | Method and Description |
---|---|
<T> Optional<Result<T>> |
execute(Session session)
Initialize the value of a key in a CAS operation.
|
static CasInitCmd |
of(String key,
byte val)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
byte val,
String pass,
long expirationDuration)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
int val)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
int val,
String pass,
long expirationDuration)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
long val)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
long val,
String pass,
long expirationDuration)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
short val)
Constructs a CasInitCmd instance.
|
static CasInitCmd |
of(String key,
short val,
String pass,
long expirationDuration)
Constructs a CasInitCmd instance.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
bytesToInt, getValusAsInt
public static CasInitCmd of(String key, byte val, String pass, long expirationDuration)
key
- a key stringval
- a bytepass
- a password stringexpirationDuration
- a duration to expire.IllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, byte val)
key
- a key stringval
- a new byteIllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, short val, String pass, long expirationDuration)
key
- a key stringval
- a val(short)pass
- a password stringexpirationDuration
- a duration to expire.IllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, short val)
key
- a key stringval
- a shortIllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, int val, String pass, long expirationDuration)
key
- a key stringval
- a val(int)pass
- a password stringexpirationDuration
- a duration to expire.IllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, int val)
key
- a key stringval
- a val(int)IllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, long val, String pass, long expirationDuration)
key
- a key stringval
- a val(long)pass
- a password stringexpirationDuration
- a duration to expire.IllegalArgumentException
- if a key or a val string is null or emptypublic static CasInitCmd of(String key, long val)
key
- a key stringval
- a val(long)IllegalArgumentException
- if a key or a val string is null or emptypublic <T> Optional<Result<T>> execute(Session session) throws IOException
execute
in interface Cmd<Boolean>
session
- a session instanceIllegalArgumentException
- if an illegal augment exists.IOException
- if underlying library errors occur.Copyright © 2020. All rights reserved.