You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2013/08/21 16:38:14 UTC
svn commit: r1516176 [1/4] - in /qpid/branches/linearstore/qpid: cpp/
cpp/docs/man/ cpp/src/ cpp/src/qpid/linearstore/jrnl/
cpp/src/qpid/linearstore/jrnl/utils/ tools/src/py/linearstore/
Author: kpvdr
Date: Wed Aug 21 14:38:12 2013
New Revision: 1516176
URL: http://svn.apache.org/r1516176
Log:
QPID-4984: WIP - compiles, but not functional.
Added:
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.h
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jcfg.h
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jcfg.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jrec.cpp
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jrec.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jrec.h
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jrec.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.h
- copied, changed from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/rec_hdr.c
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/rec_tail.c
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/rec_tail.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/txn_hdr.c
qpid/branches/linearstore/qpid/tools/src/py/linearstore/
qpid/branches/linearstore/qpid/tools/src/py/linearstore/efptool.py (with props)
Removed:
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/cvar.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/fcntl.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/fcntl.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/file_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jinf.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jinf.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/lp_map.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/lp_map.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/lpmgr.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/lpmgr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rec_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rec_tail.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rfc.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rfc.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rrfc.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rrfc.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/slock.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/smutex.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/wrfc.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/wrfc.h
Modified:
qpid/branches/linearstore/qpid/cpp/Makefile.am
qpid/branches/linearstore/qpid/cpp/configure.ac
qpid/branches/linearstore/qpid/cpp/docs/man/qpidd.1
qpid/branches/linearstore/qpid/cpp/src/linearstore.cmake
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio_callback.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/cvar.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enums.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jcntl.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jcntl.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jdir.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jdir.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jerrno.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jerrno.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jexception.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/jexception.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/pmgr.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/pmgr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rcvdat.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rmgr.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/rmgr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/slock.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/smutex.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/time_ns.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/time_ns.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_map.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/txn_map.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/deq_hdr.c
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/deq_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/enq_hdr.c
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/enq_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/file_hdr.c
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/file_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/rec_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/utils/txn_hdr.h
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/wmgr.cpp
qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/wmgr.h
Modified: qpid/branches/linearstore/qpid/cpp/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/Makefile.am?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/Makefile.am (original)
+++ qpid/branches/linearstore/qpid/cpp/Makefile.am Wed Aug 21 14:38:12 2013
@@ -1,41 +1 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-
-AUTOMAKE_OPTIONS = 1.9.2 foreign
-ACLOCAL_AMFLAGS = -I m4
-
-EXTRA_DIST = \
- LICENSE NOTICE README.txt SSL RELEASE_NOTES DESIGN \
- INSTALL-WINDOWS CMakeLists.txt BuildInstallSettings.cmake \
- cmake_uninstall.cmake.in \
- packaging/NSIS QPID_VERSION.txt bindings/CMakeLists.txt \
- include/qpid/swig_python_typemaps.i include/qpid/swig_ruby_typemaps.i include/qpid/swig_perl_typemaps.i \
- include/qpid/qpid.i include/qmf/qmfengine.i include/qmf/qmf2.i
-
-SUBDIRS = managementgen etc src docs/api docs/man examples bindings/qmf bindings/qpid bindings/qmf2
-
-# Update libtool, if needed.
-libtool: $(LIBTOOL_DEPS)
- $(SHELL) ./config.status --recheck
-
-check-long: all
- $(MAKE) -C src/tests check-long
-
+SUBDIRS=libTest include exampleProgram
Modified: qpid/branches/linearstore/qpid/cpp/configure.ac
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/configure.ac?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/configure.ac (original)
+++ qpid/branches/linearstore/qpid/cpp/configure.ac Wed Aug 21 14:38:12 2013
@@ -1,569 +1,26 @@
dnl Process this file with autoconf to produce a configure script.
-dnl
-dnl This file is free software; as a special exception the author gives
-dnl unlimited permission to copy and/or distribute it, with or without
-dnl modifications, as long as this notice is preserved.
-dnl
-dnl This program is distributed in the hope that it will be useful, but
-dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-dnl
-# Pick up the version from QPID_VERSION.txt in the qpid/cpp source tree.
-# NB. You need to re-run bootstrap if the global qpid/QPID_VERSION.txt changes.
-AC_INIT([qpidc],
- [m4_esyscmd([cat QPID_VERSION.txt | tr -d '\n'])],
- [dev@qpid.apache.org])
-
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects tar-ustar])
-
-# Minimum Autoconf version required.
AC_PREREQ(2.59)
+AC_INIT(linearstore, 1.0)
+AC_PROG_CC
-AC_CONFIG_HEADERS([src/config.h])
-
-AC_PROG_CC_STDC
-AM_PROG_CC_C_O
-AC_PROG_CXX
-AC_USE_SYSTEM_EXTENSIONS
-AC_LANG([C++])
-
-# Check whether a C++ was found (AC_PROG_CXX sets $CXX to "g++" even when it
-# doesn't exist)
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],[],[AC_MSG_ERROR([No C++ compiler found])])
-
+AC_CANONICAL_SYSTEM
-# Check for optional use of help2man
-AC_CHECK_PROG([HELP2MAN], [help2man], [help2man])
-AC_ARG_WITH([help2man],
- [AS_HELP_STRING([--with-help2man], [Use help2man to generate man pages.])],
- [case "$withval" in
- yes) test -z "$HELP2MAN" && AC_MSG_ERROR([help2man not found.]) ;;
- no) HELP2MAN="" ;;
- *) AC_MSG_ERROR([Bad value ${withval} for --with-help2man.]) ;;
- esac])
-AM_CONDITIONAL([HAVE_HELP2MAN], [test -n "$HELP2MAN"])
+dnl Initialize automake
+AM_INIT_AUTOMAKE
-# Check for optional use of doxygen
-AC_CHECK_PROG([DOXYGEN], [doxygen], [doxygen])
-AC_ARG_WITH([doxygen],
- [AS_HELP_STRING([--with-doxygen], [Use doxygen to generate API documentation.])],
- [case "$withval" in
- yes) test -z "$DOXYGEN" && AC_MSG_ERROR([doxygen not found.]) ;;
- no) DOXYGEN="" ;;
- *) AC_MSG_ERROR([Bad value ${withval} for --with-doxygen.]) ;;
- esac])
-AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
+dnl this allows us specify individual liking flags for each target
+AM_PROG_CC_C_O
-AC_ARG_ENABLE(warnings,
-[ --enable-warnings turn on lots of compiler warnings (recommended)],
-[case "${enableval}" in
- yes|no) ;;
- *) AC_MSG_ERROR([bad value ${enableval} for warnings option]) ;;
- esac],
- [enableval=yes])
+dnl Initialize Libtool
+LT_INIT
-# Set up for gcc as compiler
-if test x$GXX = xyes; then
- # Warnings: Enable as many as possible, keep the code clean. Please
- # do not disable warnings or remove -Werror without discussing on
- # qpid-dev list.
- #
- # The following warnings are deliberately omitted, they warn on valid code.
- # -Wunreachable-code -Wpadded -Winline
- # -Wshadow - warns about boost headers.
- # Can't test for -Werror as whether it fails or not depends on what's in
- # CFLAGS/CXXFLAGS. In any case it's been in gcc for a long time (since 2.95 at least)
- if test "${enableval}" = yes; then
- COMPILER_FLAGS="-Werror"
- gl_COMPILER_FLAGS(-pedantic)
- gl_COMPILER_FLAGS(-Wall)
- gl_COMPILER_FLAGS(-Wextra)
- gl_COMPILER_FLAGS(-Wno-shadow)
- gl_COMPILER_FLAGS(-Wpointer-arith)
- gl_COMPILER_FLAGS(-Wcast-qual)
- gl_COMPILER_FLAGS(-Wcast-align)
- gl_COMPILER_FLAGS(-Wno-long-long)
- gl_COMPILER_FLAGS(-Wvolatile-register-var)
- gl_COMPILER_FLAGS(-Winvalid-pch)
- gl_COMPILER_FLAGS(-Wno-system-headers)
- gl_COMPILER_FLAGS(-Woverloaded-virtual)
- AC_SUBST([WARNING_CFLAGS], [$COMPILER_FLAGS])
- AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.])
- COMPILER_FLAGS=
- fi
-else
- AC_CHECK_DECL([__SUNPRO_CC], [SUNCC=yes], [SUNCC=no])
-
- # Set up for sun CC compiler
- if test x$SUNCC = xyes; then
- if test "${enableval}" = yes; then
- WARNING_FLAGS=+w
- fi
- CXXFLAGS="$CXXFLAGS -library=stlport4 -mt"
- LD="$CXX"
- LDFLAGS="$LDFLAGS -library=stlport4 -mt"
- AC_SUBST([SUNCC_RUNTIME_LIBS], [-lCrun])
- fi
-fi
-
-AC_DISABLE_STATIC
+dnl Check if Libtool is present
+dnl Libtool is used for building share libraries
AC_PROG_LIBTOOL
-AC_SUBST([LIBTOOL_DEPS])
-
-# For libraries (libcommon) that use dlopen, dlerror, etc.,
-# test whether we need to link with -ldl.
-gl_saved_libs=$LIBS
- AC_SEARCH_LIBS(dlopen, [dl],
- [test "$ac_cv_search_dlopen" = "none required" ||
- LIB_DLOPEN=$ac_cv_search_dlopen])
- AC_SUBST([LIB_DLOPEN])
-LIBS=$gl_saved_libs
-
-gl_CLOCK_TIME
-
-# Enable Valgrind
-AC_ARG_ENABLE([valgrind],
- [AS_HELP_STRING([--enable-valgrind],
- [run valgrind memory checker on tests, if available (default yes)])],
- [case $enableval in
- yes|no) enable_VALGRIND=$enableval;;
- *) AC_MSG_ERROR([Invalid value for --enable-valgrind: $enableval]);;
- esac],
- [enable_VALGRIND=yes]
-)
-
-# We use valgrind for the tests. See if it's available.
-# Check for it unconditionally, so we don't have to duplicate its
-# use of AC_SUBST([VALGRIND]).
-AC_CHECK_PROG([VALGRIND], [valgrind], [valgrind])
-test "$enable_VALGRIND" = no && VALGRIND=
-
-# If rpmlint is available we'll run it when building RPMs.
-AC_CHECK_PROG([RPMLINT], [rpmlint], [rpmlint])
-AM_CONDITIONAL([HAS_RPMLINT], [test -n "$RPMLINT"])
-
-# Code generation: generated code is included in the distribution
-# so code generation is only required in an svn checkout.
-# It requires several external tools and files, which we check for here.
-
-AC_CHECK_PROG([RUBY], [ruby], [ruby])
-
-# Swig binding generator is needed for the script (Ruby, Python, etc.) bindings.
-AC_PROG_SWIG(1.3.26)
-test ! -x "$SWIG" && SWIG=""
-AC_ARG_WITH([swig],
- [AS_HELP_STRING([--with-swig], [Use swig to generate qmf bindings.])],
- [case "$withval" in
- yes) test -z "$SWIG" && AC_MSG_ERROR([swig not found.]) ;;
- no) SWIG="" ;;
- *) AC_MSG_ERROR([Bad value ${withval} for --with-swig.]) ;;
- esac])
-AM_CONDITIONAL([HAVE_SWIG], [test -n "$SWIG"])
-
-# Ruby bindings: To build ruby wrappers, the ruby-devel files must be present.
-
-AC_PATH_PROGS(RUBY, [ruby1.8 ruby], [])
-AC_ARG_VAR(RUBY, [Ruby interpreter])
-if test -n "$RUBY" ; then
- AC_ARG_VAR(RUBY_INC, [Directory where ruby.h can be found])
- if test -z "$RUBY_INC" ; then
- [RUBY_INC=`$RUBY -rrbconfig -e 'puts Config::CONFIG["rubyhdrdir"] || Config::CONFIG["archdir"]'`]
- fi
- AC_SUBST(RUBY_INC)
-
- AC_ARG_VAR(RUBY_INC_ARCH, [Directory where ruby/config.h can be found (needed from Ruby 1.9)])
- if test -z "$RUBY_INC_ARCH" ; then
- [RUBY_INC_ARCH=`$RUBY -rrbconfig -e 'd = Config::CONFIG["rubyhdrdir"];if d != nil; print d + "/" + Config::CONFIG["arch"]; end'`]
- dnl For earlier versions, just make it the same as RUBY_INC.
- test x"$RUBY_INC_ARCH" != x || RUBY_INC_ARCH=$RUBY_INC
- fi
- AC_SUBST(RUBY_INC_ARCH)
- AC_ARG_VAR(RUBY_LIB, [Directory to install ruby files into])
- if test -z "$RUBY_LIB" ; then
- dnl Kludge to install ruby files under $prefix
- [RUBY_LIB=`$RUBY -rrbconfig -e 'puts Config::CONFIG["sitelibdir"].gsub("/usr", "${prefix}")'`]
- fi
- AC_SUBST(RUBY_LIB)
-
- AC_ARG_VAR(RUBY_LIB_ARCH, [Directory to install ruby binary modules into])
- if test -z "$RUBY_LIB_ARCH" ; then
- dnl Kludge to install ruby files under $prefix
- [RUBY_LIB_ARCH=`$RUBY -rrbconfig -e 'puts Config::CONFIG["sitearchdir"].gsub("/usr", "${prefix}")'`]
- fi
- AC_SUBST(RUBY_LIB_ARCH)
-
- RUBY_LIBS=
- case $host_os in
- cygwin*) RUBY_LIBS=-lruby ;;
- esac
- AC_SUBST(RUBY_LIBS)
-
- RUBY_DLEXT=`$RUBY -rrbconfig -e 'puts Config::CONFIG[["DLEXT"]]'`
- AC_SUBST(RUBY_DLEXT)
-fi
-AM_CONDITIONAL([HAVE_RUBY_DEVEL], [test -f $RUBY_INC/ruby.h && test -n "$SWIG"])
-
-# Python bindings: To build python wrappers, the python-devel files must be present.
-AM_PATH_PYTHON()
-AS_IF([test -n "$PYTHON"], [
- PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION], [have_python_dev=yes],[
- # We didn't find pkg-config information for python-2.7 this
- # may mean we have an earlier python version:
- # Try to find the include and library files directly in the default
- # location
- AC_MSG_WARN([Didn't find Python 2.7 developer libs - looking for older version])
- PYTHON_INC=$($PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()')
- AC_CHECK_LIB([python$PYTHON_VERSION],[Py_Initialize],[
- PYTHON_LIBS="-lpython$PYTHON_VERSION"
- ])
- AC_CHECK_FILE(["$PYTHON_INC/Python.h"],[
- PYTHON_CFLAGS="-I$PYTHON_INC"
- have_python_dev=yes
- ],[
- if test yes = "$with_python" ; then
- AC_MSG_ERROR([Couldn't find Python developer libs - you probably need to install a python-dev or python-devel package])
- else
- AC_MSG_WARN([Couldn't find Python developer libs - you probably don't have a python-dev or python-devel package installed])
- fi
- ])
- ])
- AC_SUBST(PYTHON_CFLAGS)
- AC_SUBST(PYTHON_LIBS)
-])
-AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test x$have_python_dev = xyes && test -n "$SWIG"])
-
-
-# Perl bindings:
-
-AC_CHECK_PROG([PERL], [perl], [perl])
-if test -n "$PERL"; then
- PERL_ARCHLIB=`perl -MConfig -e 'print "$Config{archlib}";'`
- AC_CHECK_FILE( ["$PERL_ARCHLIB/CORE/perl.h"],
- [AC_SUBST([PERL_INC], ["$PERL_ARCHLIB/CORE"])] )
- AC_SUBST(PERL_ARCHLIB)
-fi
-AM_CONDITIONAL([HAVE_PERL_DEVEL], [test -n "$PERL" && test -n "$SWIG" && test -n "$PERL_INC"])
-
-specdir=`pwd`/$srcdir/../specs
-AMQP_FINAL_XML=$specdir/amqp.0-10-qpid-errata.stripped.xml
-AC_SUBST(AMQP_FINAL_XML)
-AM_CONDITIONAL([GENERATE], [test -f $AMQP_FINAL_XML])
-test -f $AMQP_FINAL_XML -a -z "$RUBY" && AC_MSG_ERROR([Missing ruby installation (try "yum install ruby").])
-
-# URL and download URL for the package.
-URL=http://rhm.et.redhat.com/qpidc
-AC_SUBST(URL)
-DOWNLOAD_URL=http://rhm.et.redhat.com/download
-AC_SUBST(DOWNLOAD_URL)
-
-# Check for headers from required devel kits.
-AC_CHECK_HEADERS([boost/shared_ptr.hpp uuid/uuid.h],,
- AC_MSG_ERROR([Missing required header files.]))
-
-# Setup --with-sasl/--without-sasl as arguments to configure
-AC_ARG_WITH([sasl],
- [AS_HELP_STRING([--with-sasl], [Build with SASL authentication support])],
- [WANT_SASL="$withval"],
- [WANT_SASL=check])
-
-# Make sure --with-sasl/--without-sasl were only give yes|no|check
-AS_IF([test "x$WANT_SASL" != xyes -a \
- "x$WANT_SASL" != xno -a \
- "x$WANT_SASL" != xcheck],
- [AC_MSG_ERROR([Bad value for --with-sasl: $withval])])
-
-# If we weren't explicitly asked /not/ to test, i.e. not given --without-sasl
-have_sasl=no
-AS_IF([test "x$WANT_SASL" != xno],
- # Perform tests for headers and libraries. Remember, AC_CHECK_LIB
- # will give you some useful default behavior, e.g. setup LDFLAGS, if
- # you do not give it a second argument, so try not to
- [AC_CHECK_HEADER([sasl/sasl.h], , [HAVE_SASL_H=no])
- tmp_LIBS=$LIBS
- AC_CHECK_LIB([sasl2], [sasl_checkpass], , [HAVE_SASL_LIB=no])
- # Remove from LIBS, we will link it explicitly in make files.
- LIBS=$tmp_LIBS
- # If any of the tests failed
- AS_IF([test "x$HAVE_SASL_H" = xno -o \
- "x$HAVE_SASL_LIB" = xno],
- # And we were given --with, then fail
- [AS_IF([test "x$WANT_SASL" = xyes],
- [AC_MSG_ERROR([sasl requested but not available])])],
- # Otherwise, no tests failed, setup AC_SUBST/AC_DEFINE/vars for AM_CONDITIONALs
- [AC_DEFINE([BROKER_SASL_NAME], ["qpidd"],
- [The SASL app name for the qpid Broker])
- AC_DEFINE([HAVE_SASL], [1], [Enable if libsasl is present])
- have_sasl=yes])
- AC_PATH_PROG([SASL_PASSWD], [saslpasswd2], [], [$PATH$PATH_SEPARATOR/usr/sbin])
- AS_IF([test x$SASL_PASSWD = x], [AC_MSG_ERROR([saslpasswd2 not found])], [])
- ])
-AM_CONDITIONAL([HAVE_SASL], [test "x$have_sasl" = xyes])
-AC_SUBST([SASL_PASSWD])
-
-# Allow integration against external AMQP 1.0 protocol engine
-AC_ARG_WITH([proton], AS_HELP_STRING([--with-proton], [Build with the proton toolkit for AMQP 1.0 support]))
-
-AS_IF([test "x$with_proton" = "xyes"], [
- PKG_CHECK_MODULES([PROTON], [libqpid-proton])
-])
-AM_CONDITIONAL([HAVE_PROTON], [test "x$with_proton" = "xyes"])
-
-
-# Setup --with-xml/--without-xml as arguments to configure
-use_xml=yes
-want_xml=check
-AC_ARG_WITH([xml],
- [AS_HELP_STRING([--with-xml], [Build with XML Exchange])],
- [want_xml=$withval])
-
-case $want_xml in
- yes|no|check) ;;
- *) AC_MSG_ERROR([Bad value for --with-xml: $withval]) ;;
-esac
-
-test $want_xml = no && use_xml=no
-
-
-
-# If the user doesn't say not to use XML, see if it's available.
-if test $use_xml != no; then
- # Then see if XQilla is available
- tmp_LIBS=$LIBS
- AC_CHECK_LIB([xerces-c], [_init], , [use_xml=no])
- AC_CHECK_HEADER([xercesc/framework/MemBufInputSource.hpp], , [use_xml=no])
- AC_CHECK_HEADER([xqilla/xqilla-simple.hpp], , [use_xml=no])
- AC_CHECK_LIB([xqilla], [_init], , [use_xml=no])
- # Remove from LIBS, we will link it explicitly in make files.
- LIBS=$tmp_LIBS
-
- # If XQilla is not available, yet specifically requested, die.
- test $use_xml:$want_xml = no:yes &&
- AC_MSG_ERROR([XML Exchange requested, but XQilla or Xerces-C not available])
-
- # Else XQilla is available - use it to build
- test $use_xml = yes &&
- AC_DEFINE([HAVE_XML], [1], [Compile-in XML Exchange support.])
-
- # Check to see if we need to use legacy calls for effective boolean value
- xqilla_has_ebv=yes
- AC_CHECK_HEADER([xqilla/ast/XQEffectiveBooleanValue.hpp], , [xqilla_has_ebv=no])
- test $xqilla_has_ebv = yes &&
- AC_DEFINE([XQ_EFFECTIVE_BOOLEAN_VALUE_HPP], [1], [XQilla version has xqilla/ast/XQEffectiveBooleanValue.hpp.])
-
-fi
-
-AM_CONDITIONAL([HAVE_XML], [test $use_xml = yes])
-
-# Setup --with-rdma/--without-rdma as arguments to configure
-tmp_LIBS=$LIBS
-AC_ARG_WITH([rdma],
- [AS_HELP_STRING([--with-rdma], [Build with support for Remote DMA protocols])],
- [case ${withval} in
- yes)
- with_RDMA=yes
- AC_CHECK_LIB([ibverbs],[ibv_create_qp],,[AC_MSG_ERROR([libibverbs not found])])
- AC_CHECK_LIB([rdmacm],[rdma_create_id],,[AC_MSG_ERROR([librdmacm not found])])
- AC_CHECK_HEADERS([infiniband/verbs.h],,[AC_MSG_ERROR([ibverbs header files not found])])
- AC_CHECK_HEADERS([rdma/rdma_cma.h],,[AC_MSG_ERROR([rdma_cm header files not found])])
- ;;
- no)
- with_RDMA=no
- ;;
- *)
- AC_MSG_ERROR([Bad value for --with-rdma: ${withval}])
- ;;
- esac],
- [
- with_RDMA=yes
- AC_CHECK_LIB([ibverbs],[ibv_create_qp],,[with_RDMA=no])
- AC_CHECK_LIB([rdmacm],[rdma_create_id],,[with_RDMA=no])
- AC_CHECK_HEADERS([infiniband/verbs.h],,[with_RDMA=no])
- AC_CHECK_HEADERS([rdma/rdma_cma.h],,[with_RDMA=no])
- ]
-)
-# Remove from LIBS, we will link it explicitly in make files.
-LIBS=$tmp_LIBS
-AM_CONDITIONAL([RDMA], [test x$with_RDMA = xyes])
-
-# Setup --with-ssl/--without-ssl as arguments to configure
-SSL_CFLAGS=""
-SSL_LDFLAGS=""
-AC_ARG_WITH([ssl],
- [AS_HELP_STRING([--with-ssl], [Build with support for SSL])],
- [case ${withval} in
- yes)
- with_SSL=yes
- AC_PATH_PROG([NSPR_CONFIG], [nspr-config])
- AS_IF([test x$NSPR_CONFIG = x], [AC_MSG_ERROR([libnspr not found])], [])
- AC_PATH_PROG([NSS_CONFIG], [nss-config])
- AS_IF([test x$NSS_CONFIG = x], [AC_MSG_ERROR([libnss not found])], [])
- SSL_CFLAGS="`$NSPR_CONFIG --cflags` `$NSS_CONFIG --cflags`"
- SSL_LDFLAGS="`$NSPR_CONFIG --libs` `$NSS_CONFIG --libs`"
- ;;
- no)
- with_SSL=no
- ;;
- *)
- AC_MSG_ERROR([Bad value for --with-ssl: ${withval}])
- ;;
- esac],
- [
- with_SSL=yes
- AC_PATH_PROG([NSPR_CONFIG], [nspr-config])
- AS_IF([test x$NSPR_CONFIG = x], [with_SSL=no],
- [AC_PATH_PROG([NSS_CONFIG], [nss-config])
- AS_IF([test x$NSS_CONFIG = x], [with_SSL=no],
- [SSL_CFLAGS="`$NSPR_CONFIG --cflags` `$NSS_CONFIG --cflags`"
- SSL_LDFLAGS="`$NSPR_CONFIG --libs` `$NSS_CONFIG --libs`"])])
- ]
-)
-# Remove from LIBS, we will link it explicitly in make files.
-AM_CONDITIONAL([SSL], [test x$with_SSL = xyes])
-AC_SUBST([SSL_CFLAGS])
-AC_SUBST([SSL_LDFLAGS])
-
-
-poller=no
-AC_ARG_WITH([poller],
- [AS_HELP_STRING([--with-poller], [The low level poller implementation: poll/solaris-ecf/epoll])],
- [case ${withval} in
- poll)
- AC_CHECK_HEADERS([sys/poll.h],[poller=poll],[AC_MSG_ERROR([Can't find poll.h header file for poll])])
- ;;
- solaris-ecf)
- AC_CHECK_HEADERS([port.h],[poller=solaris-ecf],[AC_MSG_ERROR([Can't find port.h header file for solaris-ecf])])
- ;;
- epoll)
- AC_CHECK_HEADERS([sys/epoll.h],[poller=epoll],[AC_MSG_ERROR([Can't find epoll.h header file for epoll])])
- ;;
- esac],
- [
- # We check for poll first so that it is overridden
- AC_CHECK_HEADERS([sys/poll.h],[poller=poll],)
- # Not currently supported - WIP
- #AC_CHECK_HEADERS([port.h],[poller=solaris-ecf],)
- AC_CHECK_HEADERS([sys/epoll.h],[poller=epoll],)
- ]
-)
-
-AM_CONDITIONAL([USE_ECF], [test x$poller = xsolaris-ecf])
-AM_CONDITIONAL([USE_POLL], [test x$poller = xpoll])
-AM_CONDITIONAL([USE_EPOLL], [test x$poller = xepoll])
-
-#Filter not implemented or invalid mechanisms
-if test $poller = xno; then
- AC_MSG_ERROR([Polling mechanism not implemented for $host])
-fi
-
-#Guess host architecture, to choose platform-dependent objects
-case "$host" in
- *sun-solaris*)
- arch=solaris
- ;;
-esac
-AM_CONDITIONAL([SUNOS], [test x$arch = xsolaris])
-
-# Check whether we've got the header for dtrace static probes
-AC_ARG_WITH([probes],
- [AS_HELP_STRING([--with-probes], [Build with dtrace/systemtap static probes])],
- [case ${withval} in
- yes)
- AC_CHECK_HEADERS([sys/sdt.h])
- ;;
- no)
- ;;
- *)
- AC_MSG_ERROR([Bad value for --with-probes: ${withval}])
- ;;
- esac],
- [
- AC_CHECK_HEADERS([sys/sdt.h])
- ]
-)
-
-# Check for some syslog capabilities not present in all systems
-AC_TRY_COMPILE([#include <sys/syslog.h>],
- [int v = LOG_AUTHPRIV;],
- [AC_DEFINE([HAVE_LOG_AUTHPRIV], [1], [Set to 1 whether LOG_AUTHPRIV is supported.])],)
-
-AC_TRY_COMPILE([#include <sys/syslog.h>],
- [int v = LOG_FTP;],
- [AC_DEFINE([HAVE_LOG_FTP], [1], [Set to 1 whether LOG_FTP is supported.])],)
-
-#Check if we need to include libacl to provide acl API
-gl_saved_libs=$LIBS
- AC_SEARCH_LIBS(acl, [acl],
- [test "$ac_cv_search_acl" = "none required" ||
- LIB_ACL=$ac_cv_search_acl])
- AC_SUBST([LIB_ACL])
-LIBS=$gl_saved_libs
-
-SOCKLIBS=""
-AC_CHECK_LIB([socket],[socket],[SOCKET_LIB="-lsocket"],[SOCKET_LIB=""],[])
-AC_CHECK_LIB([nsl],[getipnodebyname],[NSL_LIB="-lnsl"],[NSL_LIB=""],[])
-SOCKLIBS="$SOCKET_LIB $NSL_LIB"
-AC_SUBST([SOCKLIBS])
-
-# Used by env scripts to find libraries in cmake or autoconf builds.
-builddir_lib_suffix="/.libs"
-AC_SUBST([builddir_lib_suffix])
-
-# Files to generate
-AC_CONFIG_FILES([
- Makefile
- examples/Makefile
- examples/old_api/Makefile
- examples/old_api/direct/Makefile
- examples/old_api/fanout/Makefile
- examples/old_api/pub-sub/Makefile
- examples/old_api/request-response/Makefile
- examples/old_api/failover/Makefile
- examples/old_api/xml-exchange/Makefile
- examples/qmf-console/Makefile
- examples/old_api/tradedemo/Makefile
- examples/messaging/Makefile
- bindings/qpid/Makefile
- bindings/qpid/ruby/Makefile
- bindings/qpid/python/Makefile
- bindings/qpid/dotnet/Makefile
- bindings/qmf/Makefile
- bindings/qmf/ruby/Makefile
- bindings/qmf/python/Makefile
- bindings/qmf/tests/Makefile
- bindings/qmf2/Makefile
- bindings/qmf2/ruby/Makefile
- bindings/qmf2/python/Makefile
- bindings/qmf2/examples/cpp/Makefile
- managementgen/Makefile
- etc/Makefile
- src/Makefile
- src/tests/Makefile
- src/tests/test_env.sh
- src/tests/install_env.sh
- src/qpid.pc
- src/qmf2.pc
- docs/man/Makefile
- docs/api/Makefile
- docs/api/user.doxygen
- docs/api/developer.doxygen
- ])
-AC_OUTPUT
-
-cat <<EOF
-
-
- ============================== DEPRECATED ==============================
-
- The autotools build system is deprecated, use the cmake build system
- instead as described in the INSTALL file.
-
- You can continue to use the autotools system for now, but it will be
- removed in a future release. If you encounter any problems with the
- cmake system send email to dev@qpid.apache.org.
-
- ========================================================================
-
-EOF
+AC_CONFIG_FILES(Makefile
+ exampleProgram/Makefile
+ libTest/Makefile
+ include/Makefile)
+AC_OUTPUT
\ No newline at end of file
Modified: qpid/branches/linearstore/qpid/cpp/docs/man/qpidd.1
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/docs/man/qpidd.1?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/docs/man/qpidd.1 (original)
+++ qpid/branches/linearstore/qpid/cpp/docs/man/qpidd.1 Wed Aug 21 14:38:12 2013
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.38.2.
-.TH QPIDD "1" "March 2011" "qpidd (qpidc) version 0.11" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2.
+.TH QPIDD "1" "August 2013" "qpidd (qpidc) version 0.23" "User Commands"
.SH NAME
qpidd \- the Qpid AMQP Message Broker Daemon
@@ -24,11 +24,15 @@ Displays the help message
\fB\-v\fR [ \fB\-\-version\fR ]
Displays version information
.TP
-\fB\-\-config\fR FILE
+\fB\-\-config\fR FILE (\fI/usr/local/etc/qpidd.conf\fP)
Reads configuration from FILE
+.TP
+\fB\-\-client\-config\fR FILE (\fI/usr/local/etc/qpid/qpidc.conf\fP)
+Reads client configuration from FILE
+(for cluster interconnect)
.SS "Module options:"
.TP
-\fB\-\-module\-dir\fR DIR
+\fB\-\-module\-dir\fR DIR (\fI/usr/local/lib/qpid/daemon\fP)
Load all shareable modules in this
directory
.TP
@@ -41,7 +45,7 @@ Don't load modules from module
directory
.SS "Broker Options:"
.TP
-\fB\-\-data\-dir\fR DIR
+\fB\-\-data\-dir\fR DIR (/home/kpvdr/.qpidd)
Directory to contain persistent data
generated by the broker
.TP
@@ -53,11 +57,15 @@ or stored
\fB\-p\fR [ \fB\-\-port\fR ] PORT (5672)
Tells the broker to listen on PORT
.TP
-\fB\-\-worker\-threads\fR N (3)
-Sets the broker thread pool size
+\fB\-\-interface\fR <interface name>|<interface address>
+Which network interfaces to use to
+listen for incoming connections
.TP
-\fB\-\-max\-connections\fR N (500)
-Sets the maximum allowed connections
+\fB\-\-listen\-disable\fR <transport name>
+Transports to disable listening
+.TP
+\fB\-\-worker\-threads\fR N (5)
+Sets the broker thread pool size
.TP
\fB\-\-connection\-backlog\fR N (10)
Sets the connection backlog limit for
@@ -66,6 +74,10 @@ the server socket
\fB\-m\fR [ \fB\-\-mgmt\-enable\fR ] yes|no (1)
Enable Management
.TP
+\fB\-\-mgmt\-publish\fR yes|no (1)
+Enable Publish of Management Data ('no'
+implies query\-only)
+.TP
\fB\-\-mgmt\-qmf2\fR yes|no (1)
Enable broadcast of management
information over QMF v2
@@ -74,14 +86,14 @@ information over QMF v2
Enable broadcast of management
information over QMF v1
.TP
-\fB\-\-mgmt\-pub\-interval\fR SECONDS (10)
+\fB\-\-mgmt\-pub\-interval\fR SECONDS (10s)
Management Publish Interval
.TP
-\fB\-\-queue\-purge\-interval\fR SECONDS (600)
+\fB\-\-queue\-purge\-interval\fR SECONDS (600s)
Interval between attempts to purge any
expired messages from queues
.TP
-\fB\-\-auth\fR yes|no (1)
+\fB\-\-auth\fR yes|no (0)
Enable authentication, if disabled all
incoming connections will be trusted
.TP
@@ -100,21 +112,16 @@ Set TCP_NODELAY on TCP connections
Only accept connections that are
encrypted
.TP
-\fB\-\-known\-hosts\-url\fR URL or 'none'
+\fB\-\-known\-hosts\-url\fR URL or 'none' (none)
URL to send as 'known\-hosts' to clients
('none' implies empty list)
.TP
\fB\-\-sasl\-config\fR DIR
-gets sasl config info from nonstandard
-location
-.TP
-\fB\-\-max\-session\-rate\fR MESSAGES/S (0)
-Sets the maximum message rate per
-session (0=unlimited)
-.TP
-\fB\-\-async\-queue\-events\fR yes|no (0)
-Set Queue Events async, used for
-services like replication
+Allows SASL config path, if supported
+by platform, to be overridden. For
+default location on Linux, see Cyrus
+SASL documentation. There is no SASL
+config dir on Windows.
.TP
\fB\-\-default\-flow\-stop\-threshold\fR PERCENT (80)
Percent of queue's maximum capacity at
@@ -127,6 +134,30 @@ which flow control is de\-activated.
\fB\-\-default\-event\-threshold\-ratio\fR %age of limit (80)
The ratio of any specified queue limit
at which an event will be raised
+.TP
+\fB\-\-default\-message\-group\fR GROUP\-IDENTIFER (qpid.no\-group)
+Group identifier to assign to messages
+delivered to a message group queue that
+do not contain an identifier.
+.TP
+\fB\-\-enable\-timestamp\fR yes|no (0)
+Add current time to each received
+message.
+.TP
+\fB\-\-link\-maintenance\-interval\fR SECONDS (2s)
+Interval to check link health and
+re\-connect if need be
+.TP
+\fB\-\-link\-heartbeat\-interval\fR SECONDS (120s)
+Heartbeat interval for a federation
+link
+.TP
+\fB\-\-max\-negotiate\-time\fR MILLISECONDS (10000)
+Maximum time a connection can take to
+send the initial protocol negotiation
+.TP
+\fB\-\-federation\-tag\fR NAME
+Override the federation tag
.SS "Logging options:"
.TP
\fB\-t\fR [ \fB\-\-trace\fR ]
@@ -135,16 +166,62 @@ Enables all logging
\fB\-\-log\-enable\fR RULE (notice+)
Enables logging for selected levels and
components. RULE is in the form
-\&'LEVEL[+][:PATTERN]' Levels are one of:
+\&'LEVEL[+\-][:PATTERN]'
+LEVEL is one of:
.IP
trace debug info notice warning error
.IP
critical
+PATTERN is a logging category name, or
+a namespace\-qualified function name or
+name fragment. Logging category names
+are:
+.IP
+Security Broker Management Protocol
+.IP
+System HA Messaging Store Network Test
+Client Model Unspecified
For example:
-\&'\-\-log\-enable warning+' logs all
-warning, error and critical messages.
-\&'\-\-log\-enable debug:framing' logs debug
-messages from the framing namespace.
+\&'\-\-log\-enable warning+'
+logs all warning, error and critical
+messages.
+\&'\-\-log\-enable trace+:Broker'
+logs all category 'Broker' messages.
+\&'\-\-log\-enable debug:framing'
+logs debug messages from all functions
+with 'framing' in the namespace or
+function name.
+This option can be used multiple times
+.TP
+\fB\-\-log\-disable\fR RULE
+Disables logging for selected levels
+and components. RULE is in the form
+\&'LEVEL[+\-][:PATTERN]'
+LEVEL is one of:
+.IP
+trace debug info notice warning error
+.IP
+critical
+PATTERN is a logging category name, or
+a namespace\-qualified function name or
+name fragment. Logging category names
+are:
+.IP
+Security Broker Management Protocol
+.IP
+System HA Messaging Store Network Test
+Client Model Unspecified
+For example:
+\&'\-\-log\-disable warning\-'
+disables logging all warning, notice,
+info, debug, and trace messages.
+\&'\-\-log\-disable trace:Broker'
+disables all category 'Broker' trace
+messages.
+\&'\-\-log\-disable debug\-:qmf::'
+disables logging debug and trace
+messages from all functions with
+\&'qmf::' in the namespace.
This option can be used multiple times
.TP
\fB\-\-log\-time\fR yes|no (1)
@@ -164,8 +241,15 @@ Include thread ID in log messages
Include function signature in log
messages
.TP
+\fB\-\-log\-hires\-timestamp\fR yes|no (0)
+Use hi\-resolution timestamps in log
+messages
+.TP
+\fB\-\-log\-category\fR yes|no (1)
+Include category in log messages
+.TP
\fB\-\-log\-prefix\fR STRING
-Prefix to append to all log messages
+Prefix to prepend to all log messages
.SS "Logging sink options:"
.TP
\fB\-\-log\-to\-stderr\fR yes|no (1)
@@ -197,23 +281,47 @@ default in this mode.
The transport for which to return the
port
.TP
-\fB\-\-pid\-dir\fR DIR
-Directory where port\-specific PID file
-is stored
+\fB\-\-pid\-dir\fR DIR (/home/kpvdr/.qpidd)
+Directory where port\-specific PID file is
+stored
.TP
\fB\-w\fR [ \fB\-\-wait\fR ] SECONDS (600)
-Sets the maximum wait time to
-initialize the daemon. If the daemon
-fails to initialize, prints an error
-and returns 1
+Sets the maximum wait time to initialize
+or shutdown the daemon. If the daemon
+fails to initialize/shutdown, prints an
+error and returns 1
.TP
\fB\-c\fR [ \fB\-\-check\fR ]
-Prints the daemon's process ID to
-stdout and returns 0 if the daemon is
-running, otherwise returns 1
+Prints the daemon's process ID to stdout
+and returns 0 if the daemon is running,
+otherwise returns 1
.TP
\fB\-q\fR [ \fB\-\-quit\fR ]
Tells the daemon to shut down
+.TP
+\fB\-\-socket\-fd\fR FD
+File descriptor for tcp listening socket
+.SS "ACL Options:"
+.TP
+\fB\-\-acl\-file\fR FILE
+The policy file to load from, loaded from
+data dir
+.TP
+\fB\-\-connection\-limit\-per\-user\fR N (0)
+The maximum number of connections allowed
+per user. 0 implies no limit.
+.TP
+\fB\-\-max\-connections\fR N (500)
+The maximum combined number of connections
+allowed. 0 implies no limit.
+.TP
+\fB\-\-connection\-limit\-per\-ip\fR N (0)
+The maximum number of connections allowed
+per host IP address. 0 implies no limit.
+.TP
+\fB\-\-max\-queues\-per\-user\fR N (0)
+The maximum number of queues allowed per
+user. 0 implies no limit.
.SH ENVIRONMENT
.I QPID_<option>
.RS
Modified: qpid/branches/linearstore/qpid/cpp/src/linearstore.cmake
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/linearstore.cmake?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/linearstore.cmake (original)
+++ qpid/branches/linearstore/qpid/cpp/src/linearstore.cmake Wed Aug 21 14:38:12 2013
@@ -75,37 +75,33 @@ if (BUILD_LINEARSTORE)
endif (NOT HAVE_UUID_H)
# Journal source files
- set (legacy_jrnl_SOURCES
- qpid/linearstore/jrnl/aio.cpp
- qpid/linearstore/jrnl/cvar.cpp
+ set (linear_jrnl_SOURCES
qpid/linearstore/jrnl/data_tok.cpp
qpid/linearstore/jrnl/deq_rec.cpp
qpid/linearstore/jrnl/enq_map.cpp
qpid/linearstore/jrnl/enq_rec.cpp
- qpid/linearstore/jrnl/fcntl.cpp
+ #qpid/linearstore/jrnl/fcntl.cpp
qpid/linearstore/jrnl/jcntl.cpp
qpid/linearstore/jrnl/jdir.cpp
qpid/linearstore/jrnl/jerrno.cpp
qpid/linearstore/jrnl/jexception.cpp
- qpid/linearstore/jrnl/jinf.cpp
+ #qpid/linearstore/jrnl/jinf.cpp
qpid/linearstore/jrnl/jrec.cpp
- qpid/linearstore/jrnl/lp_map.cpp
- qpid/linearstore/jrnl/lpmgr.cpp
+ #qpid/linearstore/jrnl/lp_map.cpp
+ #qpid/linearstore/jrnl/lpmgr.cpp
qpid/linearstore/jrnl/pmgr.cpp
qpid/linearstore/jrnl/rmgr.cpp
- qpid/linearstore/jrnl/rfc.cpp
- qpid/linearstore/jrnl/rrfc.cpp
- qpid/linearstore/jrnl/slock.cpp
- qpid/linearstore/jrnl/smutex.cpp
+ #qpid/linearstore/jrnl/rfc.cpp
+ #qpid/linearstore/jrnl/rrfc.cpp
qpid/linearstore/jrnl/time_ns.cpp
qpid/linearstore/jrnl/txn_map.cpp
qpid/linearstore/jrnl/txn_rec.cpp
qpid/linearstore/jrnl/wmgr.cpp
- qpid/linearstore/jrnl/wrfc.cpp
+ #qpid/linearstore/jrnl/wrfc.cpp
)
# linearstore source files
- set (legacy_store_SOURCES
+ set (linear_store_SOURCES
qpid/linearstore/StorePlugin.cpp
qpid/linearstore/BindingDbt.cpp
qpid/linearstore/BufferValue.cpp
@@ -119,14 +115,17 @@ if (BUILD_LINEARSTORE)
)
set (util_SOURCES
- qpid/linearstore/jrnl/utils/file_hdr.c
- qpid/linearstore/jrnl/utils/enq_hdr.c
qpid/linearstore/jrnl/utils/deq_hdr.c
+ qpid/linearstore/jrnl/utils/enq_hdr.c
+ qpid/linearstore/jrnl/utils/file_hdr.c
+ qpid/linearstore/jrnl/utils/rec_hdr.c
+ qpid/linearstore/jrnl/utils/rec_tail.c
+ qpid/linearstore/jrnl/utils/txn_hdr.c
)
# linearstore include directories
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
- set (legacy_include_DIRECTORIES
+ set (linear_include_DIRECTORIES
${dirs}
${CMAKE_CURRENT_SOURCE_DIR}/qpid/linearstore
)
@@ -147,16 +146,16 @@ if (BUILD_LINEARSTORE)
)
add_library (linearstore MODULE
- ${legacy_jrnl_SOURCES}
- ${legacy_store_SOURCES}
- ${legacy_qmf_SOURCES}
+ ${linear_jrnl_SOURCES}
+ ${linear_store_SOURCES}
+ ${linear_qmf_SOURCES}
)
set_target_properties (linearstore PROPERTIES
PREFIX ""
COMPILE_DEFINITIONS _IN_QPID_BROKER
OUTPUT_NAME linearstore
- INCLUDE_DIRECTORIES "${legacy_include_DIRECTORIES}"
+ INCLUDE_DIRECTORIES "${linear_include_DIRECTORIES}"
)
target_link_libraries (linearstore
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio.h
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio.h?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio.h (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio.h Wed Aug 21 14:38:12 2013
@@ -19,23 +19,11 @@
*
*/
-/**
- * \file aio.h
- *
- * Qpid asynchronous store plugin library
- *
- * This file contains an encapsulation of the libaio interface used
- * by the journal.
- *
- * \author Kim van der Riet
- */
-
#ifndef QPID_LEGACYSTORE_JRNL_AIO_H
#define QPID_LEGACYSTORE_JRNL_AIO_H
#include <libaio.h>
#include <cstring>
-#include <sys/types.h>
#include <string.h>
namespace mrg
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio_callback.h
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio_callback.h?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio_callback.h (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/aio_callback.h Wed Aug 21 14:38:12 2013
@@ -19,22 +19,11 @@
*
*/
-/**
- * \file aio_callback.h
- *
- * Qpid asynchronous store plugin library
- *
- * This file contains the definition for the AIO callback function
- * pointer.
- *
- * \author Kim van der Riet
- */
-
#ifndef QPID_LEGACYSTORE_JRNL_AIO_CALLBACK_H
#define QPID_LEGACYSTORE_JRNL_AIO_CALLBACK_H
+#include <stdint.h>
#include <vector>
-#include <sys/types.h>
namespace mrg
{
@@ -48,7 +37,7 @@ namespace journal
public:
virtual ~aio_callback() {}
virtual void wr_aio_cb(std::vector<data_tok*>& dtokl) = 0;
- virtual void rd_aio_cb(std::vector<u_int16_t>& pil) = 0;
+ virtual void rd_aio_cb(std::vector<uint16_t>& pil) = 0;
};
} // namespace journal
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/cvar.h
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/cvar.h?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/cvar.h (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/cvar.h Wed Aug 21 14:38:12 2013
@@ -19,24 +19,14 @@
*
*/
-/**
- * \file cvar.h
- *
- * Qpid asynchronous store plugin library
- *
- * This file contains a posix condition variable class.
- *
- * \author Kim van der Riet
- */
-
#ifndef QPID_LEGACYSTORE_JRNL_CVAR_H
#define QPID_LEGACYSTORE_JRNL_CVAR_H
#include <cstring>
-#include "qpid/legacystore/jrnl/jerrno.h"
-#include "qpid/legacystore/jrnl/jexception.h"
-#include "qpid/legacystore/jrnl/smutex.h"
-#include "qpid/legacystore/jrnl/time_ns.h"
+#include "qpid/linearstore/jrnl/jerrno.h"
+#include "qpid/linearstore/jrnl/jexception.h"
+#include "qpid/linearstore/jrnl/smutex.h"
+#include "qpid/linearstore/jrnl/time_ns.h"
#include <pthread.h>
#include <sstream>
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.cpp?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.cpp (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.cpp Wed Aug 21 14:38:12 2013
@@ -19,23 +19,12 @@
*
*/
-/**
- * \file data_tok.cpp
- *
- * Qpid asynchronous store plugin library
- *
- * File containing code for class mrg::journal::data_tok (data block token).
- * See comments in file data_tok.h for details.
- *
- * \author Kim van der Riet
- */
-
-#include "qpid/legacystore/jrnl/data_tok.h"
+#include "qpid/linearstore/jrnl/data_tok.h"
#include <iomanip>
-#include "qpid/legacystore/jrnl/jerrno.h"
-#include "qpid/legacystore/jrnl/jexception.h"
-#include "qpid/legacystore/jrnl/slock.h"
+#include "qpid/linearstore/jrnl/jerrno.h"
+#include "qpid/linearstore/jrnl/jexception.h"
+#include "qpid/linearstore/jrnl/slock.h"
#include <sstream>
namespace mrg
@@ -45,7 +34,7 @@ namespace journal
// Static members
-u_int64_t data_tok::_cnt = 0;
+uint64_t data_tok::_cnt = 0;
smutex data_tok::_mutex;
data_tok::data_tok():
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.h
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.h?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.h (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/data_tok.h Wed Aug 21 14:38:12 2013
@@ -19,17 +19,6 @@
*
*/
-/**
- * \file data_tok.h
- *
- * Qpid asynchronous store plugin library
- *
- * File containing code for class mrg::journal::data_tok (data block token).
- * See class documentation for details.
- *
- * \author Kim van der Riet
- */
-
#ifndef QPID_LEGACYSTORE_JRNL_DATA_TOK_H
#define QPID_LEGACYSTORE_JRNL_DATA_TOK_H
@@ -43,10 +32,9 @@ class data_tok;
#include <cassert>
#include <cstddef>
-#include "qpid/legacystore/jrnl/smutex.h"
+#include "qpid/linearstore/jrnl/smutex.h"
#include <pthread.h>
#include <string>
-#include <sys/types.h>
namespace mrg
{
@@ -96,25 +84,25 @@ namespace journal
protected:
static smutex _mutex;
- static u_int64_t _cnt;
- u_int64_t _icnt;
+ static uint64_t _cnt;
+ uint64_t _icnt;
write_state _wstate; ///< Enqueued / dequeued state of data
read_state _rstate; ///< Read state of data
std::size_t _dsize; ///< Data size in bytes
- u_int32_t _dblks_written; ///< Data blocks read/written
- u_int32_t _dblks_read; ///< Data blocks read/written
- u_int32_t _pg_cnt; ///< Page counter - incr for each page containing part of data
- u_int16_t _fid; ///< FID containing header of enqueue record
- u_int64_t _rid; ///< RID of data set by enqueue operation
+ uint32_t _dblks_written; ///< Data blocks read/written
+ uint32_t _dblks_read; ///< Data blocks read/written
+ uint32_t _pg_cnt; ///< Page counter - incr for each page containing part of data
+ uint16_t _fid; ///< FID containing header of enqueue record
+ uint64_t _rid; ///< RID of data set by enqueue operation
std::string _xid; ///< XID set by enqueue operation
- u_int64_t _dequeue_rid; ///< RID of data set by dequeue operation
+ uint64_t _dequeue_rid; ///< RID of data set by dequeue operation
bool _external_rid; ///< Flag to indicate external setting of rid
public:
data_tok();
virtual ~data_tok();
- inline u_int64_t id() const { return _icnt; }
+ inline uint64_t id() const { return _icnt; }
inline write_state wstate() const { return _wstate; }
const char* wstate_str() const;
static const char* wstate_str(write_state wstate);
@@ -131,25 +119,25 @@ namespace journal
inline std::size_t dsize() const { return _dsize; }
inline void set_dsize(std::size_t dsize) { _dsize = dsize; }
- inline u_int32_t dblocks_written() const { return _dblks_written; }
- inline void incr_dblocks_written(u_int32_t dblks_written)
+ inline uint32_t dblocks_written() const { return _dblks_written; }
+ inline void incr_dblocks_written(uint32_t dblks_written)
{ _dblks_written += dblks_written; }
- inline void set_dblocks_written(u_int32_t dblks_written) { _dblks_written = dblks_written; }
+ inline void set_dblocks_written(uint32_t dblks_written) { _dblks_written = dblks_written; }
- inline u_int32_t dblocks_read() const { return _dblks_read; }
- inline void incr_dblocks_read(u_int32_t dblks_read) { _dblks_read += dblks_read; }
- inline void set_dblocks_read(u_int32_t dblks_read) { _dblks_read = dblks_read; }
-
- inline u_int32_t pg_cnt() const { return _pg_cnt; }
- inline u_int32_t incr_pg_cnt() { return ++_pg_cnt; }
- inline u_int32_t decr_pg_cnt() { assert(_pg_cnt != 0); return --_pg_cnt; }
-
- inline u_int16_t fid() const { return _fid; }
- inline void set_fid(const u_int16_t fid) { _fid = fid; }
- inline u_int64_t rid() const { return _rid; }
- inline void set_rid(const u_int64_t rid) { _rid = rid; }
- inline u_int64_t dequeue_rid() const {return _dequeue_rid; }
- inline void set_dequeue_rid(const u_int64_t rid) { _dequeue_rid = rid; }
+ inline uint32_t dblocks_read() const { return _dblks_read; }
+ inline void incr_dblocks_read(uint32_t dblks_read) { _dblks_read += dblks_read; }
+ inline void set_dblocks_read(uint32_t dblks_read) { _dblks_read = dblks_read; }
+
+ inline uint32_t pg_cnt() const { return _pg_cnt; }
+ inline uint32_t incr_pg_cnt() { return ++_pg_cnt; }
+ inline uint32_t decr_pg_cnt() { assert(_pg_cnt != 0); return --_pg_cnt; }
+
+ inline uint16_t fid() const { return _fid; }
+ inline void set_fid(const uint16_t fid) { _fid = fid; }
+ inline uint64_t rid() const { return _rid; }
+ inline void set_rid(const uint64_t rid) { _rid = rid; }
+ inline uint64_t dequeue_rid() const {return _dequeue_rid; }
+ inline void set_dequeue_rid(const uint64_t rid) { _dequeue_rid = rid; }
inline bool external_rid() const { return _external_rid; }
inline void set_external_rid(const bool external_rid) { _external_rid = external_rid; }
Copied: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp (from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp)
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp?p2=qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp&p1=qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp&r1=1513311&r2=1516176&rev=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp Wed Aug 21 14:38:12 2013
@@ -30,15 +30,17 @@
* \author Kim van der Riet
*/
-#include "qpid/legacystore/jrnl/deq_rec.h"
+#include "qpid/linearstore/jrnl/deq_rec.h"
+#include "qpid/linearstore/jrnl/utils/deq_hdr.h"
+#include "qpid/linearstore/jrnl/utils/rec_tail.h"
#include <cassert>
#include <cerrno>
#include <cstdlib>
#include <cstring>
#include <iomanip>
-#include "qpid/legacystore/jrnl/jerrno.h"
-#include "qpid/legacystore/jrnl/jexception.h"
+#include "qpid/linearstore/jrnl/jerrno.h"
+#include "qpid/linearstore/jrnl/jexception.h"
#include <sstream>
namespace mrg
@@ -47,19 +49,26 @@ namespace journal
{
deq_rec::deq_rec():
- _deq_hdr(RHM_JDAT_DEQ_MAGIC, RHM_JDAT_VERSION, 0, 0, 0, false),
+// _deq_hdr(QLS_DEQ_MAGIC, QLS_JRNL_VERSION, 0, 0, 0, false),
_xidp(0),
- _buff(0),
- _deq_tail(_deq_hdr)
-{}
-
-deq_rec::deq_rec(const u_int64_t rid, const u_int64_t drid, const void* const xidp,
- const std::size_t xidlen, const bool owi, const bool txn_coml_commit):
- _deq_hdr(RHM_JDAT_DEQ_MAGIC, RHM_JDAT_VERSION, rid, drid, xidlen, owi, txn_coml_commit),
+ _buff(0)
+// _deq_tail(_deq_hdr)
+{
+ ::deq_hdr_init(&_deq_hdr, QLS_DEQ_MAGIC, QLS_JRNL_VERSION, 0, 0, 0, 0);
+ ::rec_tail_copy(&_deq_tail, &_deq_hdr._rhdr, 0);
+}
+
+deq_rec::deq_rec(const uint64_t rid, const uint64_t drid, const void* const xidp,
+ const std::size_t xidlen, const bool txn_coml_commit):
+// _deq_hdr(QLS_DEQ_MAGIC, QLS_JRNL_VERSION, rid, drid, xidlen, owi, txn_coml_commit),
_xidp(xidp),
- _buff(0),
- _deq_tail(_deq_hdr)
-{}
+ _buff(0)
+// _deq_tail(_deq_hdr)
+{
+ ::deq_hdr_init(&_deq_hdr, QLS_DEQ_MAGIC, QLS_JRNL_VERSION, 0, rid, drid, xidlen);
+ ::rec_tail_copy(&_deq_tail, &_deq_hdr._rhdr, 0);
+ ::set_txn_coml_commit(&_deq_hdr, txn_coml_commit);
+}
deq_rec::~deq_rec()
{
@@ -69,23 +78,23 @@ deq_rec::~deq_rec()
void
deq_rec::reset()
{
- _deq_hdr._rid = 0;
- _deq_hdr.set_owi(false);
- _deq_hdr.set_txn_coml_commit(false);
+ _deq_hdr._rhdr._rid = 0;
+// _deq_hdr.set_owi(false);
+ ::set_txn_coml_commit(&_deq_hdr, false);
_deq_hdr._deq_rid = 0;
_deq_hdr._xidsize = 0;
+ _deq_tail._checksum = 0;
_deq_tail._rid = 0;
_xidp = 0;
_buff = 0;
}
void
-deq_rec::reset(const u_int64_t rid, const u_int64_t drid, const void* const xidp,
- const std::size_t xidlen, const bool owi, const bool txn_coml_commit)
+deq_rec::reset(const uint64_t rid, const uint64_t drid, const void* const xidp,
+ const std::size_t xidlen, const bool txn_coml_commit)
{
- _deq_hdr._rid = rid;
- _deq_hdr.set_owi(owi);
- _deq_hdr.set_txn_coml_commit(txn_coml_commit);
+ _deq_hdr._rhdr._rid = rid;
+ ::set_txn_coml_commit(&_deq_hdr, txn_coml_commit);
_deq_hdr._deq_rid = drid;
_deq_hdr._xidsize = xidlen;
_deq_tail._rid = rid;
@@ -93,8 +102,8 @@ deq_rec::reset(const u_int64_t rid, con
_buff = 0;
}
-u_int32_t
-deq_rec::encode(void* wptr, u_int32_t rec_offs_dblks, u_int32_t max_size_dblks)
+uint32_t
+deq_rec::encode(void* wptr, uint32_t rec_offs_dblks, uint32_t max_size_dblks)
{
assert(wptr != 0);
assert(max_size_dblks > 0);
@@ -205,8 +214,8 @@ deq_rec::encode(void* wptr, u_int32_t re
return size_dblks(wr_cnt);
}
-u_int32_t
-deq_rec::decode(rec_hdr& h, void* rptr, u_int32_t rec_offs_dblks, u_int32_t max_size_dblks)
+uint32_t
+deq_rec::decode(rec_hdr_t& h, void* rptr, uint32_t rec_offs_dblks, uint32_t max_size_dblks)
{
assert(rptr != 0);
assert(max_size_dblks > 0);
@@ -214,18 +223,18 @@ deq_rec::decode(rec_hdr& h, void* rptr,
std::size_t rd_cnt = 0;
if (rec_offs_dblks) // Continuation of record on new page
{
- const u_int32_t hdr_xid_dblks = size_dblks(deq_hdr::size() + _deq_hdr._xidsize);
- const u_int32_t hdr_xid_tail_dblks = size_dblks(deq_hdr::size() + _deq_hdr._xidsize +
- rec_tail::size());
+ const uint32_t hdr_xid_dblks = size_dblks(sizeof(deq_hdr_t) + _deq_hdr._xidsize);
+ const uint32_t hdr_xid_tail_dblks = size_dblks(sizeof(deq_hdr_t) + _deq_hdr._xidsize +
+ sizeof(rec_tail_t));
const std::size_t rec_offs = rec_offs_dblks * JRNL_DBLK_SIZE;
if (hdr_xid_tail_dblks - rec_offs_dblks <= max_size_dblks)
{
// Remainder of xid fits within this page
- if (rec_offs - deq_hdr::size() < _deq_hdr._xidsize)
+ if (rec_offs - sizeof(deq_hdr_t) < _deq_hdr._xidsize)
{
// Part of xid still outstanding, copy remainder of xid and tail
- const std::size_t xid_offs = rec_offs - deq_hdr::size();
+ const std::size_t xid_offs = rec_offs - sizeof(deq_hdr_t);
const std::size_t xid_rem = _deq_hdr._xidsize - xid_offs;
std::memcpy((char*)_buff + xid_offs, rptr, xid_rem);
rd_cnt = xid_rem;
@@ -236,8 +245,8 @@ deq_rec::decode(rec_hdr& h, void* rptr,
else
{
// Tail or part of tail only outstanding, complete tail
- const std::size_t tail_offs = rec_offs - deq_hdr::size() - _deq_hdr._xidsize;
- const std::size_t tail_rem = rec_tail::size() - tail_offs;
+ const std::size_t tail_offs = rec_offs - sizeof(deq_hdr_t) - _deq_hdr._xidsize;
+ const std::size_t tail_rem = sizeof(rec_tail_t) - tail_offs;
std::memcpy((char*)&_deq_tail + tail_offs, rptr, tail_rem);
chk_tail();
rd_cnt = tail_rem;
@@ -246,7 +255,7 @@ deq_rec::decode(rec_hdr& h, void* rptr,
else if (hdr_xid_dblks - rec_offs_dblks <= max_size_dblks)
{
// Remainder of xid fits within this page, tail split
- const std::size_t xid_offs = rec_offs - deq_hdr::size();
+ const std::size_t xid_offs = rec_offs - sizeof(deq_hdr_t);
const std::size_t xid_rem = _deq_hdr._xidsize - xid_offs;
std::memcpy((char*)_buff + xid_offs, rptr, xid_rem);
rd_cnt += xid_rem;
@@ -261,30 +270,28 @@ deq_rec::decode(rec_hdr& h, void* rptr,
{
// Remainder of xid split
const std::size_t xid_cp_size = (max_size_dblks * JRNL_DBLK_SIZE);
- std::memcpy((char*)_buff + rec_offs - deq_hdr::size(), rptr, xid_cp_size);
+ std::memcpy((char*)_buff + rec_offs - sizeof(deq_hdr_t), rptr, xid_cp_size);
rd_cnt += xid_cp_size;
}
}
else // Start of record
{
// Get and check header
- _deq_hdr.hdr_copy(h);
- rd_cnt = sizeof(rec_hdr);
- _deq_hdr._deq_rid = *(u_int64_t*)((char*)rptr + rd_cnt);
- rd_cnt += sizeof(u_int64_t);
-#if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
- rd_cnt += sizeof(u_int32_t); // Filler 0
-#endif
+ //_deq_hdr.hdr_copy(h);
+ ::rec_hdr_copy(&_deq_hdr._rhdr, &h);
+ rd_cnt = sizeof(rec_hdr_t);
+ _deq_hdr._deq_rid = *(uint64_t*)((char*)rptr + rd_cnt);
+ rd_cnt += sizeof(uint64_t);
_deq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
- rd_cnt = _deq_hdr.size();
+ rd_cnt = sizeof(deq_hdr_t);
chk_hdr();
if (_deq_hdr._xidsize)
{
_buff = std::malloc(_deq_hdr._xidsize);
MALLOC_CHK(_buff, "_buff", "deq_rec", "decode");
- const u_int32_t hdr_xid_dblks = size_dblks(deq_hdr::size() + _deq_hdr._xidsize);
- const u_int32_t hdr_xid_tail_dblks = size_dblks(deq_hdr::size() + _deq_hdr._xidsize +
- rec_tail::size());
+ const uint32_t hdr_xid_dblks = size_dblks(sizeof(deq_hdr_t) + _deq_hdr._xidsize);
+ const uint32_t hdr_xid_tail_dblks = size_dblks(sizeof(deq_hdr_t) + _deq_hdr._xidsize +
+ sizeof(rec_tail_t));
// Check if record (header + xid + tail) fits within this page, we can check the
// tail before the expense of copying data to memory
@@ -322,18 +329,16 @@ deq_rec::decode(rec_hdr& h, void* rptr,
}
bool
-deq_rec::rcv_decode(rec_hdr h, std::ifstream* ifsp, std::size_t& rec_offs)
+deq_rec::rcv_decode(rec_hdr_t h, std::ifstream* ifsp, std::size_t& rec_offs)
{
if (rec_offs == 0)
{
- _deq_hdr.hdr_copy(h);
- ifsp->read((char*)&_deq_hdr._deq_rid, sizeof(u_int64_t));
-#if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
- ifsp->ignore(sizeof(u_int32_t)); // _filler0
-#endif
+ //_deq_hdr.hdr_copy(h);
+ ::rec_hdr_copy(&_deq_hdr._rhdr, &h);
+ ifsp->read((char*)&_deq_hdr._deq_rid, sizeof(uint64_t));
ifsp->read((char*)&_deq_hdr._xidsize, sizeof(std::size_t));
-#if defined(JRNL_LITTLE_ENDIAN) && defined(JRNL_32_BIT)
- ifsp->ignore(sizeof(u_int32_t)); // _filler0
+#if defined(JRNL_32_BIT)
+ ifsp->ignore(sizeof(uint32_t)); // _filler0
#endif
rec_offs = sizeof(_deq_hdr);
// Read header, allocate (if req'd) for xid
@@ -360,14 +365,14 @@ deq_rec::rcv_decode(rec_hdr h, std::ifst
}
}
if (rec_offs < sizeof(_deq_hdr) +
- (_deq_hdr._xidsize ? _deq_hdr._xidsize + sizeof(rec_tail) : 0))
+ (_deq_hdr._xidsize ? _deq_hdr._xidsize + sizeof(rec_tail_t) : 0))
{
// Read tail (or continue reading tail)
std::size_t offs = rec_offs - sizeof(_deq_hdr) - _deq_hdr._xidsize;
- ifsp->read((char*)&_deq_tail + offs, sizeof(rec_tail) - offs);
+ ifsp->read((char*)&_deq_tail + offs, sizeof(rec_tail_t) - offs);
std::size_t size_read = ifsp->gcount();
rec_offs += size_read;
- if (size_read < sizeof(rec_tail) - offs)
+ if (size_read < sizeof(rec_tail_t) - offs)
{
assert(ifsp->eof());
// As we may have read past eof, turn off fail bit
@@ -399,9 +404,9 @@ std::string&
deq_rec::str(std::string& str) const
{
std::ostringstream oss;
- oss << "deq_rec: m=" << _deq_hdr._magic;
- oss << " v=" << (int)_deq_hdr._version;
- oss << " rid=" << _deq_hdr._rid;
+ oss << "deq_rec: m=" << _deq_hdr._rhdr._magic;
+ oss << " v=" << (int)_deq_hdr._rhdr._version;
+ oss << " rid=" << _deq_hdr._rhdr._rid;
oss << " drid=" << _deq_hdr._deq_rid;
if (_xidp)
oss << " xid=\"" << _xidp << "\"";
@@ -418,35 +423,35 @@ deq_rec::xid_size() const
std::size_t
deq_rec::rec_size() const
{
- return deq_hdr::size() + (_deq_hdr._xidsize ? _deq_hdr._xidsize + rec_tail::size() : 0);
+ return sizeof(deq_hdr_t) + (_deq_hdr._xidsize ? _deq_hdr._xidsize + sizeof(rec_tail_t) : 0);
}
void
deq_rec::chk_hdr() const
{
- jrec::chk_hdr(_deq_hdr);
- if (_deq_hdr._magic != RHM_JDAT_DEQ_MAGIC)
+ jrec::chk_hdr(_deq_hdr._rhdr);
+ if (_deq_hdr._rhdr._magic != QLS_DEQ_MAGIC)
{
std::ostringstream oss;
oss << std::hex << std::setfill('0');
- oss << "deq magic: rid=0x" << std::setw(16) << _deq_hdr._rid;
- oss << ": expected=0x" << std::setw(8) << RHM_JDAT_DEQ_MAGIC;
- oss << " read=0x" << std::setw(2) << (int)_deq_hdr._magic;
+ oss << "deq magic: rid=0x" << std::setw(16) << _deq_hdr._rhdr._rid;
+ oss << ": expected=0x" << std::setw(8) << QLS_DEQ_MAGIC;
+ oss << " read=0x" << std::setw(2) << (int)_deq_hdr._rhdr._magic;
throw jexception(jerrno::JERR_JREC_BADRECHDR, oss.str(), "deq_rec", "chk_hdr");
}
}
void
-deq_rec::chk_hdr(u_int64_t rid) const
+deq_rec::chk_hdr(uint64_t rid) const
{
chk_hdr();
- jrec::chk_rid(_deq_hdr, rid);
+ jrec::chk_rid(_deq_hdr._rhdr, rid);
}
void
deq_rec::chk_tail() const
{
- jrec::chk_tail(_deq_tail, _deq_hdr);
+ jrec::chk_tail(_deq_tail, _deq_hdr._rhdr);
}
void
Copied: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h (from r1513311, qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h)
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h?p2=qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h&p1=qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h&r1=1513311&r2=1516176&rev=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.h Wed Aug 21 14:38:12 2013
@@ -19,17 +19,6 @@
*
*/
-/**
- * \file deq_rec.h
- *
- * Qpid asynchronous store plugin library
- *
- * This file contains the code for the mrg::journal::deq_rec (journal dequeue
- * record) class. See class documentation for details.
- *
- * \author Kim van der Riet
- */
-
#ifndef QPID_LEGACYSTORE_JRNL_DEQ_REQ_H
#define QPID_LEGACYSTORE_JRNL_DEQ_REQ_H
@@ -42,8 +31,8 @@ class deq_rec;
}
#include <cstddef>
-#include "qpid/legacystore/jrnl/deq_hdr.h"
-#include "qpid/legacystore/jrnl/jrec.h"
+#include "qpid/linearstore/jrnl/utils/deq_hdr.h"
+#include "qpid/linearstore/jrnl/jrec.h"
namespace mrg
{
@@ -57,33 +46,33 @@ namespace journal
class deq_rec : public jrec
{
private:
- deq_hdr _deq_hdr; ///< Dequeue header
+ deq_hdr_t _deq_hdr; ///< Dequeue header
const void* _xidp; ///< xid pointer for encoding (writing to disk)
void* _buff; ///< Pointer to buffer to receive data read from disk
- rec_tail _deq_tail; ///< Record tail, only encoded if XID is present
+ rec_tail_t _deq_tail; ///< Record tail, only encoded if XID is present
public:
// constructor used for read operations and xid will have memory allocated
deq_rec();
// constructor used for write operations, where xid already exists
- deq_rec(const u_int64_t rid, const u_int64_t drid, const void* const xidp,
- const std::size_t xidlen, const bool owi, const bool txn_coml_commit);
+ deq_rec(const uint64_t rid, const uint64_t drid, const void* const xidp,
+ const std::size_t xidlen, const bool txn_coml_commit);
virtual ~deq_rec();
// Prepare instance for use in reading data from journal
void reset();
// Prepare instance for use in writing data to journal
- void reset(const u_int64_t rid, const u_int64_t drid, const void* const xidp,
- const std::size_t xidlen, const bool owi, const bool txn_coml_commit);
- u_int32_t encode(void* wptr, u_int32_t rec_offs_dblks, u_int32_t max_size_dblks);
- u_int32_t decode(rec_hdr& h, void* rptr, u_int32_t rec_offs_dblks,
- u_int32_t max_size_dblks);
+ void reset(const uint64_t rid, const uint64_t drid, const void* const xidp,
+ const std::size_t xidlen, const bool txn_coml_commit);
+ uint32_t encode(void* wptr, uint32_t rec_offs_dblks, uint32_t max_size_dblks);
+ uint32_t decode(rec_hdr_t& h, void* rptr, uint32_t rec_offs_dblks,
+ uint32_t max_size_dblks);
// Decode used for recover
- bool rcv_decode(rec_hdr h, std::ifstream* ifsp, std::size_t& rec_offs);
+ bool rcv_decode(rec_hdr_t h, std::ifstream* ifsp, std::size_t& rec_offs);
- inline bool is_txn_coml_commit() const { return _deq_hdr.is_txn_coml_commit(); }
- inline u_int64_t rid() const { return _deq_hdr._rid; }
- inline u_int64_t deq_rid() const { return _deq_hdr._deq_rid; }
+ inline bool is_txn_coml_commit() const { return ::is_txn_coml_commit(&_deq_hdr); }
+ inline uint64_t rid() const { return _deq_hdr._rhdr._rid; }
+ inline uint64_t deq_rid() const { return _deq_hdr._deq_rid; }
std::size_t get_xid(void** const xidpp);
std::string& str(std::string& str) const;
inline std::size_t data_size() const { return 0; } // This record never carries data
@@ -92,7 +81,7 @@ namespace journal
private:
virtual void chk_hdr() const;
- virtual void chk_hdr(u_int64_t rid) const;
+ virtual void chk_hdr(uint64_t rid) const;
virtual void chk_tail() const;
virtual void clean();
}; // class deq_rec
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.cpp?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.cpp (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.cpp Wed Aug 21 14:38:12 2013
@@ -19,22 +19,11 @@
*
*/
-/**
- * \file enq_map.cpp
- *
- * Qpid asynchronous store plugin library
- *
- * File containing code for class mrg::journal::enq_map (enqueue map). See
- * comments in file enq_map.h for details.
- *
- * \author Kim van der Riet
- */
-
-#include "qpid/legacystore/jrnl/enq_map.h"
+#include "qpid/linearstore/jrnl/enq_map.h"
#include <iomanip>
-#include "qpid/legacystore/jrnl/jerrno.h"
-#include "qpid/legacystore/jrnl/slock.h"
+#include "qpid/linearstore/jrnl/jerrno.h"
+#include "qpid/linearstore/jrnl/slock.h"
#include <sstream>
@@ -59,20 +48,20 @@ enq_map::enq_map():
enq_map::~enq_map() {}
void
-enq_map::set_num_jfiles(const u_int16_t num_jfiles)
+enq_map::set_num_jfiles(const uint16_t num_jfiles)
{
_pfid_enq_cnt.resize(num_jfiles, 0);
}
int16_t
-enq_map::insert_pfid(const u_int64_t rid, const u_int16_t pfid)
+enq_map::insert_pfid(const uint64_t rid, const uint16_t pfid)
{
return insert_pfid(rid, pfid, false);
}
int16_t
-enq_map::insert_pfid(const u_int64_t rid, const u_int16_t pfid, const bool locked)
+enq_map::insert_pfid(const uint64_t rid, const uint16_t pfid, const bool locked)
{
std::pair<emap_itr, bool> ret;
emap_data_struct rec(pfid, locked);
@@ -87,7 +76,7 @@ enq_map::insert_pfid(const u_int64_t rid
}
int16_t
-enq_map::get_pfid(const u_int64_t rid)
+enq_map::get_pfid(const uint64_t rid)
{
slock s(_mutex);
emap_itr itr = _map.find(rid);
@@ -99,7 +88,7 @@ enq_map::get_pfid(const u_int64_t rid)
}
int16_t
-enq_map::get_remove_pfid(const u_int64_t rid, const bool txn_flag)
+enq_map::get_remove_pfid(const uint64_t rid, const bool txn_flag)
{
slock s(_mutex);
emap_itr itr = _map.find(rid);
@@ -107,14 +96,14 @@ enq_map::get_remove_pfid(const u_int64_t
return EMAP_RID_NOT_FOUND;
if (itr->second._lock && !txn_flag) // locked, but not a commit/abort
return EMAP_LOCKED;
- u_int16_t pfid = itr->second._pfid;
+ uint16_t pfid = itr->second._pfid;
_map.erase(itr);
_pfid_enq_cnt.at(pfid)--;
return pfid;
}
bool
-enq_map::is_enqueued(const u_int64_t rid, bool ignore_lock)
+enq_map::is_enqueued(const uint64_t rid, bool ignore_lock)
{
slock s(_mutex);
emap_itr itr = _map.find(rid);
@@ -126,7 +115,7 @@ enq_map::is_enqueued(const u_int64_t rid
}
int16_t
-enq_map::lock(const u_int64_t rid)
+enq_map::lock(const uint64_t rid)
{
slock s(_mutex);
emap_itr itr = _map.find(rid);
@@ -137,7 +126,7 @@ enq_map::lock(const u_int64_t rid)
}
int16_t
-enq_map::unlock(const u_int64_t rid)
+enq_map::unlock(const uint64_t rid)
{
slock s(_mutex);
emap_itr itr = _map.find(rid);
@@ -148,7 +137,7 @@ enq_map::unlock(const u_int64_t rid)
}
int16_t
-enq_map::is_locked(const u_int64_t rid)
+enq_map::is_locked(const uint64_t rid)
{
slock s(_mutex);
emap_itr itr = _map.find(rid);
@@ -158,7 +147,7 @@ enq_map::is_locked(const u_int64_t rid)
}
void
-enq_map::rid_list(std::vector<u_int64_t>& rv)
+enq_map::rid_list(std::vector<uint64_t>& rv)
{
rv.clear();
{
@@ -169,7 +158,7 @@ enq_map::rid_list(std::vector<u_int64_t>
}
void
-enq_map::pfid_list(std::vector<u_int16_t>& fv)
+enq_map::pfid_list(std::vector<uint16_t>& fv)
{
fv.clear();
{
Modified: qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.h
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.h?rev=1516176&r1=1516175&r2=1516176&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.h (original)
+++ qpid/branches/linearstore/qpid/cpp/src/qpid/linearstore/jrnl/enq_map.h Wed Aug 21 14:38:12 2013
@@ -19,17 +19,6 @@
*
*/
-/**
- * \file enq_map.h
- *
- * Qpid asynchronous store plugin library
- *
- * File containing code for class mrg::journal::enq_map (enqueue map).
- * See class documentation for details.
- *
- * \author Kim van der Riet
- */
-
#ifndef QPID_LEGACYSTORE_JRNL_ENQ_MAP_H
#define QPID_LEGACYSTORE_JRNL_ENQ_MAP_H
@@ -41,8 +30,8 @@ class enq_map;
}
}
-#include "qpid/legacystore/jrnl/jexception.h"
-#include "qpid/legacystore/jrnl/smutex.h"
+#include "qpid/linearstore/jrnl/jexception.h"
+#include "qpid/linearstore/jrnl/smutex.h"
#include <map>
#include <pthread.h>
#include <vector>
@@ -87,38 +76,38 @@ namespace journal
struct emap_data_struct
{
- u_int16_t _pfid;
+ uint16_t _pfid;
bool _lock;
- emap_data_struct(const u_int16_t pfid, const bool lock) : _pfid(pfid), _lock(lock) {}
+ emap_data_struct(const uint16_t pfid, const bool lock) : _pfid(pfid), _lock(lock) {}
};
- typedef std::pair<u_int64_t, emap_data_struct> emap_param;
- typedef std::map<u_int64_t, emap_data_struct> emap;
+ typedef std::pair<uint64_t, emap_data_struct> emap_param;
+ typedef std::map<uint64_t, emap_data_struct> emap;
typedef emap::iterator emap_itr;
emap _map;
smutex _mutex;
- std::vector<u_int32_t> _pfid_enq_cnt;
+ std::vector<uint32_t> _pfid_enq_cnt;
public:
enq_map();
virtual ~enq_map();
- void set_num_jfiles(const u_int16_t num_jfiles);
- inline u_int32_t get_enq_cnt(const u_int16_t pfid) const { return _pfid_enq_cnt.at(pfid); };
+ void set_num_jfiles(const uint16_t num_jfiles);
+ inline uint32_t get_enq_cnt(const uint16_t pfid) const { return _pfid_enq_cnt.at(pfid); };
- int16_t insert_pfid(const u_int64_t rid, const u_int16_t pfid); // 0=ok; -3=duplicate rid;
- int16_t insert_pfid(const u_int64_t rid, const u_int16_t pfid, const bool locked); // 0=ok; -3=duplicate rid;
- int16_t get_pfid(const u_int64_t rid); // >=0=pfid; -1=rid not found; -2=locked
- int16_t get_remove_pfid(const u_int64_t rid, const bool txn_flag = false); // >=0=pfid; -1=rid not found; -2=locked
- bool is_enqueued(const u_int64_t rid, bool ignore_lock = false);
- int16_t lock(const u_int64_t rid); // 0=ok; -1=rid not found
- int16_t unlock(const u_int64_t rid); // 0=ok; -1=rid not found
- int16_t is_locked(const u_int64_t rid); // 1=true; 0=false; -1=rid not found
+ int16_t insert_pfid(const uint64_t rid, const uint16_t pfid); // 0=ok; -3=duplicate rid;
+ int16_t insert_pfid(const uint64_t rid, const uint16_t pfid, const bool locked); // 0=ok; -3=duplicate rid;
+ int16_t get_pfid(const uint64_t rid); // >=0=pfid; -1=rid not found; -2=locked
+ int16_t get_remove_pfid(const uint64_t rid, const bool txn_flag = false); // >=0=pfid; -1=rid not found; -2=locked
+ bool is_enqueued(const uint64_t rid, bool ignore_lock = false);
+ int16_t lock(const uint64_t rid); // 0=ok; -1=rid not found
+ int16_t unlock(const uint64_t rid); // 0=ok; -1=rid not found
+ int16_t is_locked(const uint64_t rid); // 1=true; 0=false; -1=rid not found
inline void clear() { _map.clear(); }
inline bool empty() const { return _map.empty(); }
- inline u_int32_t size() const { return u_int32_t(_map.size()); }
- void rid_list(std::vector<u_int64_t>& rv);
- void pfid_list(std::vector<u_int16_t>& fv);
+ inline uint32_t size() const { return uint32_t(_map.size()); }
+ void rid_list(std::vector<uint64_t>& rv);
+ void pfid_list(std::vector<uint16_t>& fv);
};
} // namespace journal
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org