1 // RPC stubs for clients to talk to lock_server
3 #include "lock_client.h"
11 lock_client::lock_client(std::string dst)
14 make_sockaddr(dst.c_str(), &dstsock);
15 cl = new rpcc(dstsock);
17 printf("lock_client: call bind\n");
22 lock_client::stat(lock_protocol::lockid_t lid)
25 lock_protocol::status ret = cl->call(lock_protocol::stat, cl->id(), lid, r);
26 VERIFY (ret == lock_protocol::OK);
31 lock_client::acquire(lock_protocol::lockid_t lid)
34 return cl->call(lock_protocol::acquire, cl->id(), lid, r);
38 lock_client::release(lock_protocol::lockid_t lid)
41 return cl->call(lock_protocol::release, cl->id(), lid, r);
44 t4_lock_client *t4_lock_client_new(const char *dst) {
45 return (t4_lock_client *)new lock_client(dst);
48 void t4_lock_client_delete(t4_lock_client *client) {
49 delete (lock_client *)client;
52 t4_status t4_lock_client_acquire(t4_lock_client *client, t4_lockid_t lid) {
53 return ((lock_client *)client)->acquire(lid);
56 t4_status t4_lock_client_release(t4_lock_client *client, t4_lockid_t lid) {
57 return ((lock_client *)client)->acquire(lid);
60 t4_status t4_lock_client_stat(t4_lock_client *client, t4_lockid_t lid) {
61 return ((lock_client *)client)->stat(lid);