summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2016-06-22 16:53:52 +0200
committerSander Vrijders <sander.vrijders@intec.ugent.be>2016-06-22 16:53:52 +0200
commitcf5d13dfd66afd68dd7fe93d009a4539c236b095 (patch)
treefbb6c556e833e5af3cead917c8ac547853f0382f
parent34bcd67e4811be85e11253e4176ec9fec5c3bbef (diff)
downloadouroboros-cf5d13dfd66afd68dd7fe93d009a4539c236b095.zip
ouroboros-cf5d13dfd66afd68dd7fe93d009a4539c236b095.tar.gz
lib: Change DA header to NSM
Functionality that was previously thought to be part of the DIF Allocator is actually namespace management. Hence the file has been renamed and the API updated.
-rw-r--r--include/ouroboros/CMakeLists.txt2
-rw-r--r--include/ouroboros/ipcp.h2
-rw-r--r--include/ouroboros/nsm.h (renamed from include/ouroboros/da.h)24
-rw-r--r--src/ipcpd/ipcp-ops.h2
-rw-r--r--src/ipcpd/ipcp.c2
-rw-r--r--src/irmd/main.c16
-rw-r--r--src/lib/CMakeLists.txt2
-rw-r--r--src/lib/ipcp.c13
-rw-r--r--src/lib/ipcpd_messages.proto2
-rw-r--r--src/lib/nsm.c (renamed from src/lib/da.c)25
10 files changed, 47 insertions, 43 deletions
diff --git a/include/ouroboros/CMakeLists.txt b/include/ouroboros/CMakeLists.txt
index 9e9fc78..c5f65d4 100644
--- a/include/ouroboros/CMakeLists.txt
+++ b/include/ouroboros/CMakeLists.txt
@@ -4,13 +4,13 @@ configure_file(
set(HEADER_FILES
cdap.h
- da.h
dev.h
dif_config.h
errno.h
flow.h
instance_name.h
irm.h
+ nsm.h
qos.h
)
diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h
index 89b9fa9..0d62bd5 100644
--- a/include/ouroboros/ipcp.h
+++ b/include/ouroboros/ipcp.h
@@ -46,7 +46,7 @@ int ipcp_unreg(pid_t pid,
size_t difs_size);
int ipcp_enroll(pid_t pid,
- char * member_name,
+ char * dif_name,
char * n_1_dif);
int ipcp_bootstrap(pid_t pid,
diff --git a/include/ouroboros/da.h b/include/ouroboros/nsm.h
index 406be7a..69b1d9d 100644
--- a/include/ouroboros/da.h
+++ b/include/ouroboros/nsm.h
@@ -1,7 +1,7 @@
/*
* Ouroboros - Copyright (C) 2016
*
- * The API to consult the DIF Allocator
+ * The API to instruct the global Namespace Manager
*
* Sander Vrijders <sander.vrijders@intec.ugent.be>
*
@@ -20,18 +20,24 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ifndef OUROBOROS_DA_H
-#define OUROBOROS_DA_H
+#ifndef OUROBOROS_NSM_H
+#define OUROBOROS_NSM_H
#include <stdint.h>
#include <unistd.h>
-char * da_resolve_daf(char * daf_name);
+int nsm_reg(char * name,
+ char ** dafs,
+ size_t dafs_size);
+
+int nsm_unreg(char * name,
+ char ** dafs,
+ size_t dafs_size);
+
/*
- * n_1_difs is an out parameter
- * The amount of n_1_difs is returned
+ * dafs is an out parameter
+ * The amount of DAFs is returned
*/
-ssize_t da_resolve_dap(char * name,
- char ** n_1_difs);
-
+ssize_t nsm_resolve(char * name,
+ char ** dafs);
#endif
diff --git a/src/ipcpd/ipcp-ops.h b/src/ipcpd/ipcp-ops.h
index ffbc9cd..a1d9f23 100644
--- a/src/ipcpd/ipcp-ops.h
+++ b/src/ipcpd/ipcp-ops.h
@@ -30,7 +30,7 @@
struct ipcp_ops {
int (* ipcp_bootstrap)(struct dif_config * conf);
- int (* ipcp_enroll)(char * member_name,
+ int (* ipcp_enroll)(char * dif_name,
char * n_1_dif);
int (* ipcp_reg)(char ** dif_names,
size_t len);
diff --git a/src/ipcpd/ipcp.c b/src/ipcpd/ipcp.c
index 901abae..b510871 100644
--- a/src/ipcpd/ipcp.c
+++ b/src/ipcpd/ipcp.c
@@ -159,7 +159,7 @@ void * ipcp_main_loop(void * o)
}
ret_msg.has_result = true;
ret_msg.result =
- _ipcp->ops->ipcp_enroll(msg->member_name,
+ _ipcp->ops->ipcp_enroll(msg->dif_name,
msg->n_1_dif);
break;
diff --git a/src/irmd/main.c b/src/irmd/main.c
index 50055c4..dff052a 100644
--- a/src/irmd/main.c
+++ b/src/irmd/main.c
@@ -27,7 +27,7 @@
#include <ouroboros/sockets.h>
#include <ouroboros/irm.h>
#include <ouroboros/ipcp.h>
-#include <ouroboros/da.h>
+#include <ouroboros/nsm.h>
#include <ouroboros/list.h>
#include <ouroboros/instance_name.h>
#include <ouroboros/utils.h>
@@ -572,7 +572,6 @@ static int bootstrap_ipcp(instance_name_t * api,
static int enroll_ipcp(instance_name_t * api,
char * dif_name)
{
- char * member = NULL;
char ** n_1_difs = NULL;
ssize_t n_1_difs_size = 0;
struct ipcp_entry * entry = NULL;
@@ -596,16 +595,7 @@ static int enroll_ipcp(instance_name_t * api,
return -1;
}
- member = da_resolve_daf(dif_name);
- if (member == NULL) {
- free(entry->dif_name);
- entry->dif_name = NULL;
- pthread_rwlock_unlock(&instance->reg_lock);
- pthread_rwlock_unlock(&instance->state_lock);
- return -1;
- }
-
- n_1_difs_size = da_resolve_dap(member, n_1_difs);
+ n_1_difs_size = nsm_resolve(dif_name, n_1_difs);
if (n_1_difs_size < 1) {
free(entry->dif_name);
entry->dif_name = NULL;
@@ -615,7 +605,7 @@ static int enroll_ipcp(instance_name_t * api,
return -1;
}
- if (ipcp_enroll(api->id, member, n_1_difs[0])) {
+ if (ipcp_enroll(api->id, dif_name, n_1_difs[0])) {
free(entry->dif_name);
entry->dif_name = NULL;
pthread_rwlock_unlock(&instance->reg_lock);
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index ed7f2fc..2a75ef1 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -25,13 +25,13 @@ set(SOURCE_FILES
# Add source files here
bitmap.c
cdap.c
- da.c
dev.c
du_buff.c
instance_name.c
ipcp.c
irm.c
list.c
+ nsm.c
shm_ap_rbuff.c
shm_du_map.c
sockets.c
diff --git a/src/lib/ipcp.c b/src/lib/ipcp.c
index a43afd2..730880f 100644
--- a/src/lib/ipcp.c
+++ b/src/lib/ipcp.c
@@ -275,35 +275,32 @@ int ipcp_bootstrap(pid_t pid,
}
int ipcp_enroll(pid_t pid,
- char * member_name,
+ char * dif_name,
char * n_1_dif)
{
ipcp_msg_t msg = IPCP_MSG__INIT;
ipcp_msg_t * recv_msg = NULL;
int ret = -1;
- if (n_1_dif == NULL || member_name == NULL)
+ if (n_1_dif == NULL || dif_name == NULL)
return -EINVAL;
- msg.code = IPCP_MSG_CODE__IPCP_ENROLL;
- msg.member_name = member_name;
- msg.n_1_dif = n_1_dif;
+ msg.code = IPCP_MSG_CODE__IPCP_ENROLL;
+ msg.dif_name = dif_name;
+ msg.n_1_dif = n_1_dif;
recv_msg = send_recv_ipcp_msg(pid, &msg);
if (recv_msg == NULL) {
- free(msg.member_name);
return -1;
}
if (recv_msg->has_result == false) {
ipcp_msg__free_unpacked(recv_msg, NULL);
- free(msg.member_name);
return -1;
}
ret = recv_msg->result;
ipcp_msg__free_unpacked(recv_msg, NULL);
- free(msg.member_name);
return ret;
}
diff --git a/src/lib/ipcpd_messages.proto b/src/lib/ipcpd_messages.proto
index 63e4198..9eb5707 100644
--- a/src/lib/ipcpd_messages.proto
+++ b/src/lib/ipcpd_messages.proto
@@ -15,7 +15,7 @@ enum ipcp_msg_code {
message ipcp_msg {
required ipcp_msg_code code = 1;
- optional string member_name = 2;
+ optional string dif_name = 2;
optional string n_1_dif = 3;
repeated string dif_names = 4;
optional int32 len = 5;
diff --git a/src/lib/da.c b/src/lib/nsm.c
index 8e7756d..069db13 100644
--- a/src/lib/da.c
+++ b/src/lib/nsm.c
@@ -1,7 +1,7 @@
/*
* Ouroboros - Copyright (C) 2016
*
- * The API to instruct the DIF Allocator
+ * The API to instruct the global Namespace Manager
*
* Sander Vrijders <sander.vrijders@intec.ugent.be>
*
@@ -20,15 +20,26 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <ouroboros/da.h>
+#include <ouroboros/nsm.h>
-char * da_resolve_daf(char * daf_name)
+int nsm_reg(char * name,
+ char ** dafs,
+ size_t dafs_size)
{
- return NULL;
+
+ return -1;
+}
+
+int nsm_unreg(char * name,
+ char ** dafs,
+ size_t dafs_size)
+{
+
+ return -1;
}
-ssize_t da_resolve_dap(char * name,
- char ** n_1_difs)
+ssize_t nsm_resolve(char * name,
+ char ** dafs)
{
- return 0;
+ return -1;
}