Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mobject-store
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
11
Issues
11
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sds
mobject-store
Commits
443d60d8
Commit
443d60d8
authored
Oct 20, 2017
by
Matthieu Dorier
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of xgitlab.cels.anl.gov:sds/mobject-store
parents
86f93b37
bfdf7bdb
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
108 additions
and
9 deletions
+108
-9
Makefile.am
Makefile.am
+3
-1
configure.ac
configure.ac
+32
-0
include/mobject-server.h
include/mobject-server.h
+22
-0
src/Makefile.subdir
src/Makefile.subdir
+6
-2
src/mobject-server.c
src/mobject-server.c
+32
-0
tests/Makefile.subdir
tests/Makefile.subdir
+7
-3
tests/mobject-server.c
tests/mobject-server.c
+6
-3
No files found.
Makefile.am
View file @
443d60d8
...
...
@@ -10,9 +10,11 @@ AM_CFLAGS =
AM_CXXFLAGS
=
$(AM_CFLAGS)
lib_LTLIBRARIES
=
src/libmobject-store.la
lib_LTLIBRARIES
+=
src/libmobject-store-server.la
include_HEADERS
=
include/libmobject-store.h
\
include/librados-mobject-store.h
include/librados-mobject-store.h
\
include/mobject-server.h
# setting this to empty so subdir makefiles can use +=
noinst_HEADERS
=
...
...
configure.ac
View file @
443d60d8
...
...
@@ -20,6 +20,12 @@ PKG_PROG_PKG_CONFIG
if test "x$PKG_CONFIG" == "x"; then
AC_MSG_ERROR([Could not find pkg-config utility!])
fi
dnl seems like this should be a function but my first stab at m4 exploded
dnl mightily...
dnl also, we need to separate client libraries from server libraries. Just jam
dnl it all into one set of flags for now
PKG_CHECK_MODULES([MARGO],[margo],[],
AC_MSG_ERROR([Could not find working margo installation!]) )
LIBS="$MARGO_LIBS $LIBS"
...
...
@@ -38,6 +44,32 @@ LIBS="$ARGOBOTS_LIBS $LIBS"
CPPFLAGS="$ARGOBOTS_CFLAGS $CPPFLAGS"
CFLAGS="$ARGOBOTS_CFLAGS $CFLAGS"
PKG_CHECK_MODULES([SDSKEYVAL],[kv-server],[],
AC_MSG_ERROR([Could not find working sds-keyval server installation!]) )
LIBS="$SDSKEYVAL_LIBS $LIBS"
CPPFLAGS="$SDSKEYVAL_CFLAGS $CPPFLAGS"
CFLAGS="$SDSKEYVAL_CFLAGS $CFLAGS"
PKG_CHECK_MODULES([PMEM],[libpmemobj],[],
AC_MSG_ERROR([Could not find working libpmemobj installation!]) )
LIBS="$PMEM_LIBS $LIBS"
CPPFLAGS="$PMEM_CFLAGS $CPPFLAGS"
CFLAGS="$PMEM_CFLAGS $CFLAGS"
PKG_CHECK_MODULES([PMEM],[libpmemobj],[],
AC_MSG_ERROR([Could not find working libpmemobj installation!]) )
LIBS="$PMEM_LIBS $LIBS"
CPPFLAGS="$PMEM_CFLAGS $CPPFLAGS"
CFLAGS="$PMEM_CFLAGS $CFLAGS"
PKG_CHECK_MODULES([BAKE],[bake-bulk-server],[],
AC_MSG_ERROR([Could not find working BAKE installation!]) )
LIBS="$BAKE_LIBS $LIBS"
CPPFLAGS="$BAKE_CFLAGS $CPPFLAGS"
CFLAGS="$BAKE_CFLAGS $CFLAGS"
# check for RADOS
AC_ARG_WITH([rados],
AS_HELP_STRING([--with_rados], [Additionally build tests against librados (default is no)]),
...
...
include/mobject-server.h
0 → 100644
View file @
443d60d8
/*
* (C) 2017 The University of Chicago
*
* See COPYRIGHT in top-level directory.
*/
#ifndef MOBJECT_SERVER_H
#define MOBJECT_SERVER_H
/* server-side utilities and routines. Clients are looking for either
* libmobject-store.h or librados-mobject-store.h */
/**
* Start a mobject server instance
*
* @param[in] addr_str
* @param[in poolname
* @returns 0 on success, negative error code on failure */
int
mobject_server_register
(
const
char
*
addr_str
,
const
char
*
poolname
);
#endif
src/Makefile.subdir
View file @
443d60d8
...
...
@@ -23,5 +23,9 @@ noinst_HEADERS += \
src/prepare-write-op.h
\
src/prepare-read-op.h
\
src/write-op-visitor.h
\
src/read-op-visitor.h
\
src/buffer-union.h
src/buffer-union.h
\
src/args-write-actions.h
\
src/args-read-actions.h
src_libmobject_store_server_la_SOURCES
=
\
src/mobject-server.c
src/mobject-server.c
0 → 100644
View file @
443d60d8
#include <sds-keyval.h>
#include <bake-bulk.h>
#include <bake-bulk-server.h>
#include <margo.h>
#include <libpmemobj.h>
#include <mobject-server.h>
int
mobject_server_register
(
const
char
*
addr_str
,
const
char
*
poolname
)
{
int
ret
=
0
;
margo_instance_id
mid
;
kv_context
*
metadata
;
struct
bake_pool_info
*
pool_info
;
pool_info
=
bake_server_makepool
(
poolname
);
mid
=
margo_init
(
addr_str
,
MARGO_SERVER_MODE
,
0
,
-
1
);
bake_server_register
(
mid
,
pool_info
);
metadata
=
kv_server_register
(
mid
);
return
ret
;
}
int
mobject_shutdown
()
{
margo_wait_for_finalize
(
NULL
);
pmemobj_close
(
NULL
);
}
tests/Makefile.subdir
View file @
443d60d8
check_PROGRAMS
+=
\
tests/mobject-connect-test
tests/mobject-connect-test
\
tests/mobject-server
if
HAVE_RADOS
check_PROGRAMS
+=
\
...
...
@@ -11,10 +12,13 @@ endif
tests_mobject_connect_test_SOURCES
=
tests/mobject-connect-test.c
tests_mobject_connect_test_CPPFLAGS
=
-I
${srcdir}
/include
tests_mobject_connect_test_LDADD
=
src/libmobject-store.la
tests_mobject_connect_test_LDADD
=
src/libmobject-store.la
${LIBS}
tests_mobject_server_CPPFLAGS
=
-I
${srcdir}
/include
tests_mobject_server_LDADD
=
src/libmobject-store-server.la
${LIBS}
if
HAVE_RADOS
tests_rados_mobject_connect_test_SOURCES
=
tests/mobject-connect-test.c
tests_rados_mobject_connect_test_CFLAGS
=
-DUSE_RADOS
tests_rados_mobject_connect_test_LDADD
=
-lrados
tests_rados_mobject_connect_test_LDADD
=
-lrados
${LIBS}
endif
tests/mobject-server.c
View file @
443d60d8
#include <margo.h>
#include <mobject-server.h>
/* the SDS-keyval and bake-bulk tests should still work, even if there is a higher-level protocol */
int
main
(
int
argc
,
char
**
argv
)
{
mobject_server_register
(
argc
,
argv
);
margo_wait_for_finalize
();
margo_server_deregister
();
margo_instance_id
mid
;
mid
=
margo_init
(
argv
[
1
],
MARGO_SERVER_MODE
,
0
,
-
1
);
mobject_server_register
(
argv
[
2
],
argv
[
3
]);
margo_wait_for_finalize
(
mid
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment