Exemplo n.º 1
0
def _retrieve_function(name, kvs):
    kvs_name = server_utils._get_func_kvs_name(name)
    latt = kvs.get(kvs_name)[kvs_name]

    if latt:
        return serializer.function_ser.load(latt.reveal()[1])
    else:
        return None
Exemplo n.º 2
0
Arquivo: utils.py Projeto: xsls/fluent
def _retrieve_function(name, kvs):
    kvs_name = server_utils._get_func_kvs_name(name)
    result = kvs.get(kvs_name)

    while not result:
        logging.info("retrying get for function %s" % kvs_name)
        result = kvs.get(kvs_name)
    latt = result[kvs_name]

    return serializer.function_ser.load(latt.reveal()[1])
Exemplo n.º 3
0
def create_func(func_create_socket, kvs):
    func = Function()
    func.ParseFromString(func_create_socket.recv())

    name = sutils._get_func_kvs_name(func.name)
    logging.info('Creating function %s.' % (name))

    body = LWWPairLattice(generate_timestamp(0), func.body)
    kvs.put(name, body)

    funcs = utils._get_func_list(kvs, '', fullname=True)
    funcs.append(name)
    utils._put_func_list(kvs, funcs)

    func_create_socket.send(sutils.ok_resp)
Exemplo n.º 4
0
def _retrieve_function(name, kvs, consistency=NORMAL):
    kvs_name = server_utils._get_func_kvs_name(name)

    if consistency == NORMAL:
        result = kvs.get(kvs_name)
        if result:
            latt = result[kvs_name]
            return serializer.function_ser.load(latt.reveal()[1])
        else:
            return None
    else:
        result = kvs.causal_get([kvs_name], set(), {}, SINGLE, 0)
        if result:
            return serializer.function_ser.load(result[1][kvs_name][1])
        else:
            return None
Exemplo n.º 5
0
def create_func(func_create_socket, kvs, consistency=NORMAL):
    func = Function()
    func.ParseFromString(func_create_socket.recv())

    name = sutils._get_func_kvs_name(func.name)
    logging.info('Creating function %s.' % (name))

    if consistency == NORMAL:
        body = LWWPairLattice(generate_timestamp(0), func.body)
        kvs.put(name, body)
    else:
        ccv = CrossCausalValue()
        ccv.vector_clock['base'] = 1
        ccv.values.extend([func.body])
        kvs.put(name, ccv)

    funcs = utils._get_func_list(kvs, '', fullname=True)
    funcs.append(name)
    utils._put_func_list(kvs, funcs)

    func_create_socket.send(sutils.ok_resp)