mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Merge branch 'bthomee/rename_namespace' into bthomee/rename_config
This commit is contained in:
9
.github/scripts/rename/README.md
vendored
9
.github/scripts/rename/README.md
vendored
@@ -27,9 +27,11 @@ run from the repository root.
|
|||||||
`xrpl` and `xrpld`, respectively. The name of the binary will remain as-is,
|
`xrpl` and `xrpld`, respectively. The name of the binary will remain as-is,
|
||||||
and will only be renamed to `xrpld` by a later script.
|
and will only be renamed to `xrpld` by a later script.
|
||||||
4. `.github/scripts/rename/binary.sh`: This script will rename the binary from
|
4. `.github/scripts/rename/binary.sh`: This script will rename the binary from
|
||||||
`rippled` to `xrpld`, and create a symlink named `rippled` that points to the
|
`rippled` to `xrpld`, and reverses the symlink so that `rippled` points to
|
||||||
`xrpld` binary.
|
the `xrpld` binary.
|
||||||
5. `.github/scripts/rename/config.sh`: This script will rename the config from
|
5. `.github/scripts/rename/namespace.sh`: This script will rename the C++
|
||||||
|
namespaces from `ripple` to `xrpl`.
|
||||||
|
6. `.github/scripts/rename/config.sh`: This script will rename the config from
|
||||||
`rippled.cfg` to `xrpld.cfg`, and updating the code accordingly. The old
|
`rippled.cfg` to `xrpld.cfg`, and updating the code accordingly. The old
|
||||||
filename will still be accepted.
|
filename will still be accepted.
|
||||||
|
|
||||||
@@ -40,5 +42,6 @@ You can run all these scripts from the repository root as follows:
|
|||||||
./.github/scripts/rename/copyright.sh .
|
./.github/scripts/rename/copyright.sh .
|
||||||
./.github/scripts/rename/cmake.sh .
|
./.github/scripts/rename/cmake.sh .
|
||||||
./.github/scripts/rename/binary.sh .
|
./.github/scripts/rename/binary.sh .
|
||||||
|
./.github/scripts/rename/namespace.sh .
|
||||||
./.github/scripts/rename/config.sh .
|
./.github/scripts/rename/config.sh .
|
||||||
```
|
```
|
||||||
|
|||||||
54
.github/scripts/rename/namespace.sh
vendored
Executable file
54
.github/scripts/rename/namespace.sh
vendored
Executable file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Exit the script as soon as an error occurs.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# On MacOS, ensure that GNU sed is installed and available as `gsed`.
|
||||||
|
SED_COMMAND=sed
|
||||||
|
if [[ "${OSTYPE}" == 'darwin'* ]]; then
|
||||||
|
if ! command -v gsed &> /dev/null; then
|
||||||
|
echo "Error: gsed is not installed. Please install it using 'brew install gnu-sed'."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SED_COMMAND=gsed
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This script renames the `ripple` namespace to `xrpl` in this project.
|
||||||
|
# Specifically, it renames all occurrences of `namespace ripple` and `ripple::`
|
||||||
|
# to `namespace xrpl` and `xrpl::`, respectively, by scanning all header and
|
||||||
|
# source files in the specified directory and its subdirectories, as well as any
|
||||||
|
# occurrences in the documentation.
|
||||||
|
# Usage: .github/scripts/rename/namespace.sh <repository directory>
|
||||||
|
|
||||||
|
if [ "$#" -ne 1 ]; then
|
||||||
|
echo "Usage: $0 <repository directory>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DIRECTORY=$1
|
||||||
|
echo "Processing directory: ${DIRECTORY}"
|
||||||
|
if [ ! -d "${DIRECTORY}" ]; then
|
||||||
|
echo "Error: Directory '${DIRECTORY}' does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
pushd ${DIRECTORY}
|
||||||
|
|
||||||
|
DIRECTORIES=("include" "src" "tests")
|
||||||
|
for DIRECTORY in "${DIRECTORIES[@]}"; do
|
||||||
|
echo "Processing directory: ${DIRECTORY}"
|
||||||
|
|
||||||
|
find "${DIRECTORY}" -type f \( -name "*.h" -o -name "*.hpp" -o -name "*.ipp" -o -name "*.cpp" \) | while read -r FILE; do
|
||||||
|
echo "Processing file: ${FILE}"
|
||||||
|
${SED_COMMAND} -i 's/namespace ripple/namespace xrpl/g' "${FILE}"
|
||||||
|
${SED_COMMAND} -i 's/ripple::/xrpl::/g' "${FILE}"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
DIRECTORY=$1
|
||||||
|
find "${DIRECTORY}" -type f -name "*.md" | while read -r FILE; do
|
||||||
|
echo "Processing file: ${FILE}"
|
||||||
|
${SED_COMMAND} -i 's/ripple::/xrpl::/g' "${FILE}"
|
||||||
|
done
|
||||||
|
|
||||||
|
popd
|
||||||
|
echo "Renaming complete."
|
||||||
2
.github/scripts/strategy-matrix/generate.py
vendored
2
.github/scripts/strategy-matrix/generate.py
vendored
@@ -138,8 +138,6 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
|
|||||||
# Unity on linux/amd64
|
# Unity on linux/amd64
|
||||||
if f'{os['compiler_name']}-{os['compiler_version']}' == 'gcc-15' and build_type == 'Debug' and '-Dunity=OFF' in cmake_args and architecture['platform'] == 'linux/amd64':
|
if f'{os['compiler_name']}-{os['compiler_version']}' == 'gcc-15' and build_type == 'Debug' and '-Dunity=OFF' in cmake_args and architecture['platform'] == 'linux/amd64':
|
||||||
cmake_args = f'-Dcoverage=ON -Dcoverage_format=xml -DCODE_COVERAGE_VERBOSE=ON -DCMAKE_C_FLAGS=-O0 -DCMAKE_CXX_FLAGS=-O0 {cmake_args}'
|
cmake_args = f'-Dcoverage=ON -Dcoverage_format=xml -DCODE_COVERAGE_VERBOSE=ON -DCMAKE_C_FLAGS=-O0 -DCMAKE_CXX_FLAGS=-O0 {cmake_args}'
|
||||||
cmake_target = 'coverage'
|
|
||||||
build_only = True
|
|
||||||
|
|
||||||
# Generate a unique name for the configuration, e.g. macos-arm64-debug
|
# Generate a unique name for the configuration, e.g. macos-arm64-debug
|
||||||
# or debian-bookworm-gcc-12-amd64-release-unity.
|
# or debian-bookworm-gcc-12-amd64-release-unity.
|
||||||
|
|||||||
178
.github/workflows/reusable-build-test-config.yml
vendored
178
.github/workflows/reusable-build-test-config.yml
vendored
@@ -7,19 +7,23 @@ on:
|
|||||||
description: "The directory where to build."
|
description: "The directory where to build."
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
build_only:
|
build_only:
|
||||||
description: 'Whether to only build or to build and test the code ("true", "false").'
|
description: 'Whether to only build or to build and test the code ("true", "false").'
|
||||||
required: true
|
required: true
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
build_type:
|
build_type:
|
||||||
description: 'The build type to use ("Debug", "Release").'
|
description: 'The build type to use ("Debug", "Release").'
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
cmake_args:
|
cmake_args:
|
||||||
description: "Additional arguments to pass to CMake."
|
description: "Additional arguments to pass to CMake."
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
|
|
||||||
cmake_target:
|
cmake_target:
|
||||||
description: "The CMake target to build."
|
description: "The CMake target to build."
|
||||||
type: string
|
type: string
|
||||||
@@ -29,6 +33,7 @@ on:
|
|||||||
description: Runner to run the job on as a JSON string
|
description: Runner to run the job on as a JSON string
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
image:
|
image:
|
||||||
description: "The image to run in (leave empty to run natively)"
|
description: "The image to run in (leave empty to run natively)"
|
||||||
required: true
|
required: true
|
||||||
@@ -51,27 +56,162 @@ on:
|
|||||||
required: true
|
required: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build-and-test:
|
||||||
uses: ./.github/workflows/reusable-build.yml
|
name: ${{ inputs.config_name }}
|
||||||
|
runs-on: ${{ fromJSON(inputs.runs_on) }}
|
||||||
|
container: ${{ inputs.image != '' && inputs.image || null }}
|
||||||
|
timeout-minutes: 60
|
||||||
|
env:
|
||||||
|
ENABLED_VOIDSTAR: ${{ contains(inputs.cmake_args, '-Dvoidstar=ON') }}
|
||||||
|
ENABLED_COVERAGE: ${{ contains(inputs.cmake_args, '-Dcoverage=ON') }}
|
||||||
|
steps:
|
||||||
|
- name: Cleanup workspace
|
||||||
|
if: ${{ runner.os == 'macOS' }}
|
||||||
|
uses: XRPLF/actions/.github/actions/cleanup-workspace@3f044c7478548e3c32ff68980eeb36ece02b364e
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
||||||
|
|
||||||
|
- name: Prepare runner
|
||||||
|
uses: XRPLF/actions/.github/actions/prepare-runner@99685816bb60a95a66852f212f382580e180df3a
|
||||||
|
with:
|
||||||
|
disable_ccache: false
|
||||||
|
|
||||||
|
- name: Print build environment
|
||||||
|
uses: ./.github/actions/print-env
|
||||||
|
|
||||||
|
- name: Get number of processors
|
||||||
|
uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
|
||||||
|
id: nproc
|
||||||
|
with:
|
||||||
|
subtract: ${{ inputs.nproc_subtract }}
|
||||||
|
|
||||||
|
- name: Setup Conan
|
||||||
|
uses: ./.github/actions/setup-conan
|
||||||
|
|
||||||
|
- name: Build dependencies
|
||||||
|
uses: ./.github/actions/build-deps
|
||||||
with:
|
with:
|
||||||
build_dir: ${{ inputs.build_dir }}
|
build_dir: ${{ inputs.build_dir }}
|
||||||
|
build_nproc: ${{ steps.nproc.outputs.nproc }}
|
||||||
build_type: ${{ inputs.build_type }}
|
build_type: ${{ inputs.build_type }}
|
||||||
cmake_args: ${{ inputs.cmake_args }}
|
# Set the verbosity to "quiet" for Windows to avoid an excessive
|
||||||
cmake_target: ${{ inputs.cmake_target }}
|
# amount of logs. For other OSes, the "verbose" logs are more useful.
|
||||||
runs_on: ${{ inputs.runs_on }}
|
log_verbosity: ${{ runner.os == 'Windows' && 'quiet' || 'verbose' }}
|
||||||
image: ${{ inputs.image }}
|
|
||||||
config_name: ${{ inputs.config_name }}
|
|
||||||
nproc_subtract: ${{ inputs.nproc_subtract }}
|
|
||||||
secrets:
|
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
|
|
||||||
test:
|
- name: Configure CMake
|
||||||
needs: build
|
shell: bash
|
||||||
uses: ./.github/workflows/reusable-test.yml
|
working-directory: ${{ inputs.build_dir }}
|
||||||
|
env:
|
||||||
|
BUILD_TYPE: ${{ inputs.build_type }}
|
||||||
|
CMAKE_ARGS: ${{ inputs.cmake_args }}
|
||||||
|
run: |
|
||||||
|
cmake \
|
||||||
|
-G '${{ runner.os == 'Windows' && 'Visual Studio 17 2022' || 'Ninja' }}' \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
|
||||||
|
${CMAKE_ARGS} \
|
||||||
|
..
|
||||||
|
|
||||||
|
- name: Build the binary
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ inputs.build_dir }}
|
||||||
|
env:
|
||||||
|
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
|
||||||
|
BUILD_TYPE: ${{ inputs.build_type }}
|
||||||
|
CMAKE_TARGET: ${{ inputs.cmake_target }}
|
||||||
|
run: |
|
||||||
|
cmake \
|
||||||
|
--build . \
|
||||||
|
--config "${BUILD_TYPE}" \
|
||||||
|
--parallel "${BUILD_NPROC}" \
|
||||||
|
--target "${CMAKE_TARGET}"
|
||||||
|
|
||||||
|
- name: Upload binary (Linux)
|
||||||
|
if: ${{ runner.os == 'Linux' }}
|
||||||
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||||
|
env:
|
||||||
|
BUILD_DIR: ${{ inputs.build_dir }}
|
||||||
with:
|
with:
|
||||||
run_tests: ${{ !inputs.build_only }}
|
name: xrpld-${{ inputs.config_name }}
|
||||||
verify_voidstar: ${{ contains(inputs.cmake_args, '-Dvoidstar=ON') }}
|
path: ${{ env.BUILD_DIR }}/xrpld
|
||||||
runs_on: ${{ inputs.runs_on }}
|
retention-days: 3
|
||||||
image: ${{ inputs.image }}
|
if-no-files-found: error
|
||||||
config_name: ${{ inputs.config_name }}
|
|
||||||
nproc_subtract: ${{ inputs.nproc_subtract }}
|
- name: Check linking (Linux)
|
||||||
|
if: ${{ runner.os == 'Linux' }}
|
||||||
|
working-directory: ${{ inputs.build_dir }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ldd ./xrpld
|
||||||
|
if [ "$(ldd ./xrpld | grep -E '(libstdc\+\+|libgcc)' | wc -l)" -eq 0 ]; then
|
||||||
|
echo 'The binary is statically linked.'
|
||||||
|
else
|
||||||
|
echo 'The binary is dynamically linked.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Verify presence of instrumentation (Linux)
|
||||||
|
if: ${{ runner.os == 'Linux' && env.ENABLED_VOIDSTAR == 'true' }}
|
||||||
|
working-directory: ${{ inputs.build_dir }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./xrpld --version | grep libvoidstar
|
||||||
|
|
||||||
|
- name: Run the separate tests
|
||||||
|
if: ${{ !inputs.build_only }}
|
||||||
|
working-directory: ${{ inputs.build_dir }}
|
||||||
|
# Windows locks some of the build files while running tests, and parallel jobs can collide
|
||||||
|
env:
|
||||||
|
BUILD_TYPE: ${{ inputs.build_type }}
|
||||||
|
PARALLELISM: ${{ runner.os == 'Windows' && '1' || steps.nproc.outputs.nproc }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ctest \
|
||||||
|
--output-on-failure \
|
||||||
|
-C "${BUILD_TYPE}" \
|
||||||
|
-j "${PARALLELISM}"
|
||||||
|
|
||||||
|
- name: Prepare coverage report
|
||||||
|
if: ${{ !inputs.build_only && env.ENABLED_COVERAGE == 'true' }}
|
||||||
|
working-directory: ${{ inputs.build_dir }}
|
||||||
|
env:
|
||||||
|
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
|
||||||
|
BUILD_TYPE: ${{ inputs.build_type }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake \
|
||||||
|
--build . \
|
||||||
|
--config "${BUILD_TYPE}" \
|
||||||
|
--parallel "${BUILD_NPROC}" \
|
||||||
|
--target coverage
|
||||||
|
|
||||||
|
- name: Upload coverage report
|
||||||
|
if: ${{ github.repository_owner == 'XRPLF' && !inputs.build_only && env.ENABLED_COVERAGE == 'true' }}
|
||||||
|
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
|
||||||
|
with:
|
||||||
|
disable_search: true
|
||||||
|
disable_telem: true
|
||||||
|
fail_ci_if_error: true
|
||||||
|
files: ${{ inputs.build_dir }}/coverage.xml
|
||||||
|
plugins: noop
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
verbose: true
|
||||||
|
|
||||||
|
- name: Run the embedded tests
|
||||||
|
if: ${{ !inputs.build_only && env.ENABLED_COVERAGE != 'true' }}
|
||||||
|
working-directory: ${{ runner.os == 'Windows' && format('{0}/{1}', inputs.build_dir, inputs.build_type) || inputs.build_dir }}
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
|
||||||
|
run: |
|
||||||
|
./xrpld --unittest --unittest-jobs "${BUILD_NPROC}"
|
||||||
|
|
||||||
|
- name: Debug failure (Linux)
|
||||||
|
if: ${{ failure() && runner.os == 'Linux' && !inputs.build_only }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "IPv4 local port range:"
|
||||||
|
cat /proc/sys/net/ipv4/ip_local_port_range
|
||||||
|
echo "Netstat:"
|
||||||
|
netstat -an
|
||||||
|
|||||||
154
.github/workflows/reusable-build.yml
vendored
154
.github/workflows/reusable-build.yml
vendored
@@ -1,154 +0,0 @@
|
|||||||
name: Build xrpld
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
build_dir:
|
|
||||||
description: "The directory where to build."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
build_type:
|
|
||||||
description: 'The build type to use ("Debug", "Release").'
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
cmake_args:
|
|
||||||
description: "Additional arguments to pass to CMake."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
cmake_target:
|
|
||||||
description: "The CMake target to build."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
runs_on:
|
|
||||||
description: Runner to run the job on as a JSON string
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
image:
|
|
||||||
description: "The image to run in (leave empty to run natively)"
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
config_name:
|
|
||||||
description: "The name of the configuration."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
nproc_subtract:
|
|
||||||
description: "The number of processors to subtract when calculating parallelism."
|
|
||||||
required: true
|
|
||||||
type: number
|
|
||||||
|
|
||||||
secrets:
|
|
||||||
CODECOV_TOKEN:
|
|
||||||
description: "The Codecov token to use for uploading coverage reports."
|
|
||||||
required: true
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build ${{ inputs.config_name }}
|
|
||||||
runs-on: ${{ fromJSON(inputs.runs_on) }}
|
|
||||||
container: ${{ inputs.image != '' && inputs.image || null }}
|
|
||||||
timeout-minutes: 60
|
|
||||||
steps:
|
|
||||||
- name: Cleanup workspace
|
|
||||||
if: ${{ runner.os == 'macOS' }}
|
|
||||||
uses: XRPLF/actions/.github/actions/cleanup-workspace@3f044c7478548e3c32ff68980eeb36ece02b364e
|
|
||||||
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
||||||
|
|
||||||
- name: Prepare runner
|
|
||||||
uses: XRPLF/actions/.github/actions/prepare-runner@99685816bb60a95a66852f212f382580e180df3a
|
|
||||||
with:
|
|
||||||
disable_ccache: false
|
|
||||||
|
|
||||||
- name: Print build environment
|
|
||||||
uses: ./.github/actions/print-env
|
|
||||||
|
|
||||||
- name: Get number of processors
|
|
||||||
uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
|
|
||||||
id: nproc
|
|
||||||
with:
|
|
||||||
subtract: ${{ inputs.nproc_subtract }}
|
|
||||||
|
|
||||||
- name: Setup Conan
|
|
||||||
uses: ./.github/actions/setup-conan
|
|
||||||
|
|
||||||
- name: Build dependencies
|
|
||||||
uses: ./.github/actions/build-deps
|
|
||||||
with:
|
|
||||||
build_dir: ${{ inputs.build_dir }}
|
|
||||||
build_nproc: ${{ steps.nproc.outputs.nproc }}
|
|
||||||
build_type: ${{ inputs.build_type }}
|
|
||||||
# Set the verbosity to "quiet" for Windows to avoid an excessive
|
|
||||||
# amount of logs. For other OSes, the "verbose" logs are more useful.
|
|
||||||
log_verbosity: ${{ runner.os == 'Windows' && 'quiet' || 'verbose' }}
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ inputs.build_dir }}
|
|
||||||
env:
|
|
||||||
BUILD_TYPE: ${{ inputs.build_type }}
|
|
||||||
CMAKE_ARGS: ${{ inputs.cmake_args }}
|
|
||||||
run: |
|
|
||||||
cmake \
|
|
||||||
-G '${{ runner.os == 'Windows' && 'Visual Studio 17 2022' || 'Ninja' }}' \
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
|
|
||||||
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
|
|
||||||
${CMAKE_ARGS} \
|
|
||||||
..
|
|
||||||
|
|
||||||
- name: Build the binary
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ inputs.build_dir }}
|
|
||||||
env:
|
|
||||||
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
|
|
||||||
BUILD_TYPE: ${{ inputs.build_type }}
|
|
||||||
CMAKE_TARGET: ${{ inputs.cmake_target }}
|
|
||||||
run: |
|
|
||||||
cmake \
|
|
||||||
--build . \
|
|
||||||
--config "${BUILD_TYPE}" \
|
|
||||||
--parallel ${BUILD_NPROC} \
|
|
||||||
--target "${CMAKE_TARGET}"
|
|
||||||
|
|
||||||
- name: Put built binaries in one location
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ inputs.build_dir }}
|
|
||||||
env:
|
|
||||||
BUILD_TYPE_DIR: ${{ runner.os == 'Windows' && inputs.build_type || '' }}
|
|
||||||
CMAKE_TARGET: ${{ inputs.cmake_target }}
|
|
||||||
run: |
|
|
||||||
mkdir -p ./binaries/doctest/
|
|
||||||
|
|
||||||
cp ./${BUILD_TYPE_DIR}/xrpld* ./binaries/
|
|
||||||
if [ "${CMAKE_TARGET}" != 'coverage' ]; then
|
|
||||||
cp ./src/tests/libxrpl/${BUILD_TYPE_DIR}/xrpl.test.* ./binaries/doctest/
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Upload xrpld artifact
|
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
||||||
env:
|
|
||||||
BUILD_DIR: ${{ inputs.build_dir }}
|
|
||||||
with:
|
|
||||||
name: xrpld-${{ inputs.config_name }}
|
|
||||||
path: ${{ env.BUILD_DIR }}/binaries/
|
|
||||||
retention-days: 3
|
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
- name: Upload coverage report
|
|
||||||
if: ${{ github.repository_owner == 'XRPLF' && inputs.cmake_target == 'coverage' }}
|
|
||||||
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
|
|
||||||
with:
|
|
||||||
disable_search: true
|
|
||||||
disable_telem: true
|
|
||||||
fail_ci_if_error: true
|
|
||||||
files: ${{ inputs.build_dir }}/coverage.xml
|
|
||||||
plugins: noop
|
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
verbose: true
|
|
||||||
2
.github/workflows/reusable-check-rename.yml
vendored
2
.github/workflows/reusable-check-rename.yml
vendored
@@ -27,6 +27,8 @@ jobs:
|
|||||||
run: .github/scripts/rename/cmake.sh .
|
run: .github/scripts/rename/cmake.sh .
|
||||||
- name: Check binary name
|
- name: Check binary name
|
||||||
run: .github/scripts/rename/binary.sh .
|
run: .github/scripts/rename/binary.sh .
|
||||||
|
- name: Check namespaces
|
||||||
|
run: .github/scripts/rename/namespace.sh .
|
||||||
- name: Check config name
|
- name: Check config name
|
||||||
run: .github/scripts/rename/config.sh .
|
run: .github/scripts/rename/config.sh .
|
||||||
- name: Check for differences
|
- name: Check for differences
|
||||||
|
|||||||
111
.github/workflows/reusable-test.yml
vendored
111
.github/workflows/reusable-test.yml
vendored
@@ -1,111 +0,0 @@
|
|||||||
name: Test xrpld
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
verify_voidstar:
|
|
||||||
description: "Whether to verify the presence of voidstar instrumentation."
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
run_tests:
|
|
||||||
description: "Whether to run unit tests"
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
runs_on:
|
|
||||||
description: Runner to run the job on as a JSON string
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
image:
|
|
||||||
description: "The image to run in (leave empty to run natively)"
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
config_name:
|
|
||||||
description: "The name of the configuration."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
nproc_subtract:
|
|
||||||
description: "The number of processors to subtract when calculating parallelism."
|
|
||||||
required: true
|
|
||||||
type: number
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
name: Test ${{ inputs.config_name }}
|
|
||||||
runs-on: ${{ fromJSON(inputs.runs_on) }}
|
|
||||||
container: ${{ inputs.image != '' && inputs.image || null }}
|
|
||||||
timeout-minutes: 30
|
|
||||||
steps:
|
|
||||||
- name: Cleanup workspace
|
|
||||||
if: ${{ runner.os == 'macOS' }}
|
|
||||||
uses: XRPLF/actions/.github/actions/cleanup-workspace@3f044c7478548e3c32ff68980eeb36ece02b364e
|
|
||||||
|
|
||||||
- name: Get number of processors
|
|
||||||
uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
|
|
||||||
id: nproc
|
|
||||||
with:
|
|
||||||
subtract: ${{ inputs.nproc_subtract }}
|
|
||||||
|
|
||||||
- name: Download xrpld artifact
|
|
||||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
||||||
with:
|
|
||||||
name: xrpld-${{ inputs.config_name }}
|
|
||||||
|
|
||||||
- name: Make binary executable (Linux and macOS)
|
|
||||||
shell: bash
|
|
||||||
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
|
|
||||||
run: |
|
|
||||||
chmod +x ./xrpld
|
|
||||||
|
|
||||||
- name: Check linking (Linux)
|
|
||||||
if: ${{ runner.os == 'Linux' }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
ldd ./xrpld
|
|
||||||
if [ "$(ldd ./xrpld | grep -E '(libstdc\+\+|libgcc)' | wc -l)" -eq 0 ]; then
|
|
||||||
echo 'The binary is statically linked.'
|
|
||||||
else
|
|
||||||
echo 'The binary is dynamically linked.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Verifying presence of instrumentation
|
|
||||||
if: ${{ inputs.verify_voidstar }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
./xrpld --version | grep libvoidstar
|
|
||||||
|
|
||||||
- name: Run the embedded tests
|
|
||||||
if: ${{ inputs.run_tests }}
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
|
|
||||||
run: |
|
|
||||||
./xrpld --unittest --unittest-jobs ${BUILD_NPROC}
|
|
||||||
|
|
||||||
- name: Run the separate tests
|
|
||||||
if: ${{ inputs.run_tests }}
|
|
||||||
env:
|
|
||||||
EXT: ${{ runner.os == 'Windows' && '.exe' || '' }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
for test_file in ./doctest/*${EXT}; do
|
|
||||||
echo "Executing $test_file"
|
|
||||||
chmod +x "$test_file"
|
|
||||||
if [[ "${{ runner.os }}" == "Windows" && "$test_file" == "./doctest/xrpl.test.net.exe" ]]; then
|
|
||||||
echo "Skipping $test_file on Windows"
|
|
||||||
else
|
|
||||||
"$test_file"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Debug failure (Linux)
|
|
||||||
if: ${{ failure() && runner.os == 'Linux' && inputs.run_tests }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "IPv4 local port range:"
|
|
||||||
cat /proc/sys/net/ipv4/ip_local_port_range
|
|
||||||
echo "Netstat:"
|
|
||||||
netstat -an
|
|
||||||
@@ -299,7 +299,7 @@ For this reason:
|
|||||||
- Example **bad** name
|
- Example **bad** name
|
||||||
`"RFC1751::insert(char* s, int x, int start, int length) : length is greater than or equal zero"`
|
`"RFC1751::insert(char* s, int x, int start, int length) : length is greater than or equal zero"`
|
||||||
(missing namespace, unnecessary full function signature, description too verbose).
|
(missing namespace, unnecessary full function signature, description too verbose).
|
||||||
Good name: `"ripple::RFC1751::insert : minimum length"`.
|
Good name: `"xrpl::RFC1751::insert : minimum length"`.
|
||||||
- In **few** well-justified cases a non-standard name can be used, in which case a
|
- In **few** well-justified cases a non-standard name can be used, in which case a
|
||||||
comment should be placed to explain the rationale (example in `contract.cpp`)
|
comment should be placed to explain the rationale (example in `contract.cpp`)
|
||||||
- Do **not** rename a contract without a good reason (e.g. the name no longer
|
- Do **not** rename a contract without a good reason (e.g. the name no longer
|
||||||
|
|||||||
@@ -1,21 +1,3 @@
|
|||||||
macro(group_sources_in source_dir curdir)
|
|
||||||
file(GLOB children RELATIVE ${source_dir}/${curdir}
|
|
||||||
${source_dir}/${curdir}/*)
|
|
||||||
foreach (child ${children})
|
|
||||||
if (IS_DIRECTORY ${source_dir}/${curdir}/${child})
|
|
||||||
group_sources_in(${source_dir} ${curdir}/${child})
|
|
||||||
else()
|
|
||||||
string(REPLACE "/" "\\" groupname ${curdir})
|
|
||||||
source_group(${groupname} FILES
|
|
||||||
${source_dir}/${curdir}/${child})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
macro(group_sources curdir)
|
|
||||||
group_sources_in(${PROJECT_SOURCE_DIR} ${curdir})
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
macro (exclude_from_default target_)
|
macro (exclude_from_default target_)
|
||||||
set_target_properties (${target_} PROPERTIES EXCLUDE_FROM_ALL ON)
|
set_target_properties (${target_} PROPERTIES EXCLUDE_FROM_ALL ON)
|
||||||
set_target_properties (${target_} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD ON)
|
set_target_properties (${target_} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD ON)
|
||||||
|
|||||||
@@ -22,20 +22,4 @@ function(xrpl_add_test name)
|
|||||||
UNITY_BUILD_BATCH_SIZE 0) # Adjust as needed
|
UNITY_BUILD_BATCH_SIZE 0) # Adjust as needed
|
||||||
|
|
||||||
add_test(NAME ${target} COMMAND ${target})
|
add_test(NAME ${target} COMMAND ${target})
|
||||||
set_tests_properties(
|
|
||||||
${target} PROPERTIES
|
|
||||||
FIXTURES_REQUIRED ${target}_fixture
|
|
||||||
)
|
|
||||||
|
|
||||||
add_test(
|
|
||||||
NAME ${target}.build
|
|
||||||
COMMAND
|
|
||||||
${CMAKE_COMMAND}
|
|
||||||
--build ${CMAKE_BINARY_DIR}
|
|
||||||
--config $<CONFIG>
|
|
||||||
--target ${target}
|
|
||||||
)
|
|
||||||
set_tests_properties(${target}.build PROPERTIES
|
|
||||||
FIXTURES_SETUP ${target}_fixture
|
|
||||||
)
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ if (static OR MSVC)
|
|||||||
else ()
|
else ()
|
||||||
set (Boost_USE_STATIC_RUNTIME OFF)
|
set (Boost_USE_STATIC_RUNTIME OFF)
|
||||||
endif ()
|
endif ()
|
||||||
find_dependency (Boost 1.70
|
find_dependency (Boost
|
||||||
COMPONENTS
|
COMPONENTS
|
||||||
chrono
|
chrono
|
||||||
container
|
container
|
||||||
@@ -52,5 +52,3 @@ if (TARGET ZLIB::ZLIB)
|
|||||||
set_target_properties(OpenSSL::Crypto PROPERTIES
|
set_target_properties(OpenSSL::Crypto PROPERTIES
|
||||||
INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
include ("${CMAKE_CURRENT_LIST_DIR}/XrplTargets.cmake")
|
|
||||||
|
|||||||
@@ -73,10 +73,7 @@ include(target_link_modules)
|
|||||||
|
|
||||||
# Level 01
|
# Level 01
|
||||||
add_module(xrpl beast)
|
add_module(xrpl beast)
|
||||||
target_link_libraries(xrpl.libxrpl.beast PUBLIC
|
target_link_libraries(xrpl.libxrpl.beast PUBLIC xrpl.imports.main)
|
||||||
xrpl.imports.main
|
|
||||||
xrpl.libpb
|
|
||||||
)
|
|
||||||
|
|
||||||
# Level 02
|
# Level 02
|
||||||
add_module(xrpl basics)
|
add_module(xrpl basics)
|
||||||
@@ -226,6 +223,4 @@ if(xrpld)
|
|||||||
src/test/ledger/Invariants_test.cpp
|
src/test/ledger/Invariants_test.cpp
|
||||||
PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
|
PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
|
||||||
endif()
|
endif()
|
||||||
# Create a symlink named "rippled" for backward compatibility.
|
|
||||||
add_custom_command(TARGET xrpld POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink "xrpld" "rippled")
|
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#[===================================================================[
|
#[===================================================================[
|
||||||
convenience variables and sanity checks
|
sanity checks
|
||||||
#]===================================================================]
|
#]===================================================================]
|
||||||
|
|
||||||
get_property(is_multiconfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
get_property(is_multiconfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
@@ -16,39 +16,19 @@ if (NOT is_multiconfig)
|
|||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
get_directory_property(has_parent PARENT_DIRECTORY)
|
|
||||||
if (has_parent)
|
|
||||||
set (is_root_project OFF)
|
|
||||||
else ()
|
|
||||||
set (is_root_project ON)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES ".*Clang") # both Clang and AppleClang
|
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES ".*Clang") # both Clang and AppleClang
|
||||||
set (is_clang TRUE)
|
set (is_clang TRUE)
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND
|
||||||
CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
|
CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.0)
|
||||||
message (FATAL_ERROR "This project requires clang 8 or later")
|
message (FATAL_ERROR "This project requires clang 16 or later")
|
||||||
endif ()
|
endif ()
|
||||||
# TODO min AppleClang version check ?
|
|
||||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
set (is_gcc TRUE)
|
set (is_gcc TRUE)
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.0)
|
||||||
message (FATAL_ERROR "This project requires GCC 8 or later")
|
message (FATAL_ERROR "This project requires GCC 12 or later")
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
set (is_linux TRUE)
|
|
||||||
else ()
|
|
||||||
set (is_linux FALSE)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if ("$ENV{CI}" STREQUAL "true" OR "$ENV{CONTINUOUS_INTEGRATION}" STREQUAL "true")
|
|
||||||
set (is_ci TRUE)
|
|
||||||
else ()
|
|
||||||
set (is_ci FALSE)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# check for in-source build and fail
|
# check for in-source build and fail
|
||||||
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||||
message (FATAL_ERROR "Builds (in-source) are not allowed in "
|
message (FATAL_ERROR "Builds (in-source) are not allowed in "
|
||||||
|
|||||||
@@ -1,10 +1,25 @@
|
|||||||
#[===================================================================[
|
#[===================================================================[
|
||||||
declare user options/settings
|
declare options and variables
|
||||||
#]===================================================================]
|
#]===================================================================]
|
||||||
|
|
||||||
include(ProcessorCount)
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
set (is_linux TRUE)
|
||||||
|
else()
|
||||||
|
set(is_linux FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
ProcessorCount(PROCESSOR_COUNT)
|
if("$ENV{CI}" STREQUAL "true" OR "$ENV{CONTINUOUS_INTEGRATION}" STREQUAL "true")
|
||||||
|
set(is_ci TRUE)
|
||||||
|
else()
|
||||||
|
set(is_ci FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_directory_property(has_parent PARENT_DIRECTORY)
|
||||||
|
if(has_parent)
|
||||||
|
set(is_root_project OFF)
|
||||||
|
else()
|
||||||
|
set(is_root_project ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
option(assert "Enables asserts, even in release builds" OFF)
|
option(assert "Enables asserts, even in release builds" OFF)
|
||||||
|
|
||||||
@@ -25,10 +40,15 @@ if(unity)
|
|||||||
endif()
|
endif()
|
||||||
set(CMAKE_UNITY_BUILD ON CACHE BOOL "Do a unity build")
|
set(CMAKE_UNITY_BUILD ON CACHE BOOL "Do a unity build")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(is_clang AND is_linux)
|
if(is_clang AND is_linux)
|
||||||
option(voidstar "Enable Antithesis instrumentation." OFF)
|
option(voidstar "Enable Antithesis instrumentation." OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(is_gcc OR is_clang)
|
if(is_gcc OR is_clang)
|
||||||
|
include(ProcessorCount)
|
||||||
|
ProcessorCount(PROCESSOR_COUNT)
|
||||||
|
|
||||||
option(coverage "Generates coverage info." OFF)
|
option(coverage "Generates coverage info." OFF)
|
||||||
option(profile "Add profiling flags" OFF)
|
option(profile "Add profiling flags" OFF)
|
||||||
set(coverage_test_parallelism "${PROCESSOR_COUNT}" CACHE STRING
|
set(coverage_test_parallelism "${PROCESSOR_COUNT}" CACHE STRING
|
||||||
@@ -48,6 +68,7 @@ else()
|
|||||||
set(coverage OFF CACHE BOOL "gcc/clang only" FORCE)
|
set(coverage OFF CACHE BOOL "gcc/clang only" FORCE)
|
||||||
set(wextra OFF CACHE BOOL "gcc/clang only" FORCE)
|
set(wextra OFF CACHE BOOL "gcc/clang only" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(is_linux)
|
if(is_linux)
|
||||||
option(BUILD_SHARED_LIBS "build shared xrpl libraries" OFF)
|
option(BUILD_SHARED_LIBS "build shared xrpl libraries" OFF)
|
||||||
option(static "link protobuf, openssl, libc++, and boost statically" ON)
|
option(static "link protobuf, openssl, libc++, and boost statically" ON)
|
||||||
@@ -64,11 +85,13 @@ else()
|
|||||||
set(use_gold OFF CACHE BOOL "gold linker, linux only" FORCE)
|
set(use_gold OFF CACHE BOOL "gold linker, linux only" FORCE)
|
||||||
set(use_mold OFF CACHE BOOL "mold linker, linux only" FORCE)
|
set(use_mold OFF CACHE BOOL "mold linker, linux only" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(is_clang)
|
if(is_clang)
|
||||||
option(use_lld "enables detection of lld linker" ON)
|
option(use_lld "enables detection of lld linker" ON)
|
||||||
else()
|
else()
|
||||||
set(use_lld OFF CACHE BOOL "try lld linker, clang only" FORCE)
|
set(use_lld OFF CACHE BOOL "try lld linker, clang only" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(jemalloc "Enables jemalloc for heap profiling" OFF)
|
option(jemalloc "Enables jemalloc for heap profiling" OFF)
|
||||||
option(werr "treat warnings as errors" OFF)
|
option(werr "treat warnings as errors" OFF)
|
||||||
option(local_protobuf
|
option(local_protobuf
|
||||||
@@ -102,16 +125,6 @@ if(san)
|
|||||||
message(FATAL_ERROR "${san} sanitizer does not seem to be supported by your compiler")
|
message(FATAL_ERROR "${san} sanitizer does not seem to be supported by your compiler")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
set(container_label "" CACHE STRING "tag to use for package building containers")
|
|
||||||
option(packages_only
|
|
||||||
"ONLY generate package building targets. This is special use-case and almost \
|
|
||||||
certainly not what you want. Use with caution as you won't be able to build \
|
|
||||||
any compiled targets locally." OFF)
|
|
||||||
option(have_package_container
|
|
||||||
"Sometimes you already have the tagged container you want to use for package \
|
|
||||||
building and you don't want docker to rebuild it. This flag will detach the \
|
|
||||||
dependency of the package build from the container build. It's an advanced \
|
|
||||||
use case and most likely you should not be touching this flag." OFF)
|
|
||||||
|
|
||||||
# the remaining options are obscure and rarely used
|
# the remaining options are obscure and rarely used
|
||||||
option(beast_no_unit_test_inline
|
option(beast_no_unit_test_inline
|
||||||
@@ -125,15 +138,13 @@ option(boost_show_deprecated
|
|||||||
"Allow boost to fail on deprecated usage. Only useful if you're trying\
|
"Allow boost to fail on deprecated usage. Only useful if you're trying\
|
||||||
to find deprecated calls."
|
to find deprecated calls."
|
||||||
OFF)
|
OFF)
|
||||||
option(beast_hashers
|
|
||||||
"Use local implementations for sha/ripemd hashes (experimental, not recommended)"
|
|
||||||
OFF)
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(beast_disable_autolink "Disables autolinking of system libraries on WIN32" OFF)
|
option(beast_disable_autolink "Disables autolinking of system libraries on WIN32" OFF)
|
||||||
else()
|
else()
|
||||||
set(beast_disable_autolink OFF CACHE BOOL "WIN32 only" FORCE)
|
set(beast_disable_autolink OFF CACHE BOOL "WIN32 only" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(coverage)
|
if(coverage)
|
||||||
message(STATUS "coverage build requested - forcing Debug build")
|
message(STATUS "coverage build requested - forcing Debug build")
|
||||||
set(CMAKE_BUILD_TYPE Debug CACHE STRING "build type" FORCE)
|
set(CMAKE_BUILD_TYPE Debug CACHE STRING "build type" FORCE)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Extract a tar archive compressed with lz4
|
/** Extract a tar archive compressed with lz4
|
||||||
|
|
||||||
@@ -17,6 +17,6 @@ extractTarLz4(
|
|||||||
boost::filesystem::path const& src,
|
boost::filesystem::path const& src,
|
||||||
boost::filesystem::path const& dst);
|
boost::filesystem::path const& dst);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
using IniFileSections =
|
using IniFileSections =
|
||||||
std::unordered_map<std::string, std::vector<std::string>>;
|
std::unordered_map<std::string, std::vector<std::string>>;
|
||||||
@@ -380,6 +380,6 @@ get_if_exists<bool>(Section const& section, std::string const& name, bool& v)
|
|||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Storage for linear binary data.
|
/** Storage for linear binary data.
|
||||||
Blocks of binary data appear often in various idioms and structures.
|
Blocks of binary data appear often in various idioms and structures.
|
||||||
*/
|
*/
|
||||||
using Blob = std::vector<unsigned char>;
|
using Blob = std::vector<unsigned char>;
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Like std::vector<char> but better.
|
/** Like std::vector<char> but better.
|
||||||
Meets the requirements of BufferFactory.
|
Meets the requirements of BufferFactory.
|
||||||
@@ -96,7 +96,7 @@ public:
|
|||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
s.size() == 0 || size_ == 0 || s.data() < p_.get() ||
|
s.size() == 0 || size_ == 0 || s.data() < p_.get() ||
|
||||||
s.data() >= p_.get() + size_,
|
s.data() >= p_.get() + size_,
|
||||||
"ripple::Buffer::operator=(Slice) : input not a subset");
|
"xrpl::Buffer::operator=(Slice) : input not a subset");
|
||||||
|
|
||||||
if (auto p = alloc(s.size()))
|
if (auto p = alloc(s.size()))
|
||||||
std::memcpy(p, s.data(), s.size());
|
std::memcpy(p, s.data(), s.size());
|
||||||
@@ -215,6 +215,6 @@ operator!=(Buffer const& lhs, Buffer const& rhs) noexcept
|
|||||||
return !(lhs == rhs);
|
return !(lhs == rhs);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef XRPL_BASICS_BYTEUTILITIES_H_INCLUDED
|
#ifndef XRPL_BASICS_BYTEUTILITIES_H_INCLUDED
|
||||||
#define XRPL_BASICS_BYTEUTILITIES_H_INCLUDED
|
#define XRPL_BASICS_BYTEUTILITIES_H_INCLUDED
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
constexpr auto
|
constexpr auto
|
||||||
@@ -19,6 +19,6 @@ megabytes(T value) noexcept
|
|||||||
|
|
||||||
static_assert(kilobytes(2) == 2048, "kilobytes(2) == 2048");
|
static_assert(kilobytes(2) == 2048, "kilobytes(2) == 2048");
|
||||||
static_assert(megabytes(3) == 3145728, "megabytes(3) == 3145728");
|
static_assert(megabytes(3) == 3145728, "megabytes(3) == 3145728");
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace compression_algorithms {
|
namespace compression_algorithms {
|
||||||
|
|
||||||
@@ -144,6 +144,6 @@ lz4Decompress(
|
|||||||
|
|
||||||
} // namespace compression_algorithms
|
} // namespace compression_algorithms
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_COMPRESSIONALGORITHMS_H_INCLUDED
|
#endif // XRPL_COMPRESSIONALGORITHMS_H_INCLUDED
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Manages all counted object types. */
|
/** Manages all counted object types. */
|
||||||
class CountedObjects
|
class CountedObjects
|
||||||
@@ -133,6 +133,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Sampling function using exponential decay to provide a continuous value.
|
/** Sampling function using exponential decay to provide a continuous value.
|
||||||
@tparam The number of seconds in the decay window.
|
@tparam The number of seconds in the decay window.
|
||||||
@@ -131,6 +131,6 @@ private:
|
|||||||
time_point when_;
|
time_point when_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Expected is an approximation of std::expected (hoped for in C++23)
|
/** Expected is an approximation of std::expected (hoped for in C++23)
|
||||||
|
|
||||||
@@ -232,6 +232,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_EXPECTED_H_INCLUDED
|
#endif // XRPL_BASICS_EXPECTED_H_INCLUDED
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
getFileContents(
|
getFileContents(
|
||||||
@@ -20,6 +20,6 @@ writeFileContents(
|
|||||||
boost::filesystem::path const& destPath,
|
boost::filesystem::path const& destPath,
|
||||||
std::string const& contents);
|
std::string const& contents);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -492,5 +492,5 @@ dynamic_pointer_cast(TT const& v)
|
|||||||
return SharedPtr<T>(DynamicCastTagSharedIntrusive{}, v);
|
return SharedPtr<T>(DynamicCastTagSharedIntrusive{}, v);
|
||||||
}
|
}
|
||||||
} // namespace intr_ptr
|
} // namespace intr_ptr
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
template <CAdoptTag TAdoptTag>
|
template <CAdoptTag TAdoptTag>
|
||||||
@@ -608,7 +608,7 @@ SharedWeakUnion<T>::convertToStrong()
|
|||||||
[[maybe_unused]] auto action = p->releaseWeakRef();
|
[[maybe_unused]] auto action = p->releaseWeakRef();
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(action == ReleaseWeakRefAction::noop),
|
(action == ReleaseWeakRefAction::noop),
|
||||||
"ripple::SharedWeakUnion::convertToStrong : "
|
"xrpl::SharedWeakUnion::convertToStrong : "
|
||||||
"action is noop");
|
"action is noop");
|
||||||
unsafeSetRawPtr(p, RefStrength::strong);
|
unsafeSetRawPtr(p, RefStrength::strong);
|
||||||
return true;
|
return true;
|
||||||
@@ -637,7 +637,7 @@ SharedWeakUnion<T>::convertToWeak()
|
|||||||
// We just added a weak ref. How could we destroy?
|
// We just added a weak ref. How could we destroy?
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
UNREACHABLE(
|
UNREACHABLE(
|
||||||
"ripple::SharedWeakUnion::convertToWeak : destroying freshly "
|
"xrpl::SharedWeakUnion::convertToWeak : destroying freshly "
|
||||||
"added ref");
|
"added ref");
|
||||||
delete p;
|
delete p;
|
||||||
unsafeSetRawPtr(nullptr);
|
unsafeSetRawPtr(nullptr);
|
||||||
@@ -719,5 +719,5 @@ SharedWeakUnion<T>::unsafeReleaseNoStore()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Action to perform when releasing a strong pointer.
|
/** Action to perform when releasing a strong pointer.
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ enum class ReleaseWeakRefAction { noop, destroy };
|
|||||||
/** Implement the strong count, weak count, and bit flags for an intrusive
|
/** Implement the strong count, weak count, and bit flags for an intrusive
|
||||||
pointer.
|
pointer.
|
||||||
|
|
||||||
A class can satisfy the requirements of a ripple::IntrusivePointer by
|
A class can satisfy the requirements of a xrpl::IntrusivePointer by
|
||||||
inheriting from this class.
|
inheriting from this class.
|
||||||
*/
|
*/
|
||||||
struct IntrusiveRefCounts
|
struct IntrusiveRefCounts
|
||||||
@@ -257,7 +257,7 @@ IntrusiveRefCounts::releaseStrongRef() const
|
|||||||
RefCountPair const prevVal{prevIntVal};
|
RefCountPair const prevVal{prevIntVal};
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(prevVal.strong >= strongDelta),
|
(prevVal.strong >= strongDelta),
|
||||||
"ripple::IntrusiveRefCounts::releaseStrongRef : previous ref "
|
"xrpl::IntrusiveRefCounts::releaseStrongRef : previous ref "
|
||||||
"higher than new");
|
"higher than new");
|
||||||
auto nextIntVal = prevIntVal - strongDelta;
|
auto nextIntVal = prevIntVal - strongDelta;
|
||||||
ReleaseStrongRefAction action = noop;
|
ReleaseStrongRefAction action = noop;
|
||||||
@@ -282,7 +282,7 @@ IntrusiveRefCounts::releaseStrongRef() const
|
|||||||
// twice.
|
// twice.
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(action == noop) || !(prevIntVal & partialDestroyStartedMask),
|
(action == noop) || !(prevIntVal & partialDestroyStartedMask),
|
||||||
"ripple::IntrusiveRefCounts::releaseStrongRef : not in partial "
|
"xrpl::IntrusiveRefCounts::releaseStrongRef : not in partial "
|
||||||
"destroy");
|
"destroy");
|
||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
@@ -314,7 +314,7 @@ IntrusiveRefCounts::addWeakReleaseStrongRef() const
|
|||||||
// can't happen twice.
|
// can't happen twice.
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(!prevVal.partialDestroyStartedBit),
|
(!prevVal.partialDestroyStartedBit),
|
||||||
"ripple::IntrusiveRefCounts::addWeakReleaseStrongRef : not in "
|
"xrpl::IntrusiveRefCounts::addWeakReleaseStrongRef : not in "
|
||||||
"partial destroy");
|
"partial destroy");
|
||||||
|
|
||||||
auto nextIntVal = prevIntVal + delta;
|
auto nextIntVal = prevIntVal + delta;
|
||||||
@@ -336,7 +336,7 @@ IntrusiveRefCounts::addWeakReleaseStrongRef() const
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(!(prevIntVal & partialDestroyStartedMask)),
|
(!(prevIntVal & partialDestroyStartedMask)),
|
||||||
"ripple::IntrusiveRefCounts::addWeakReleaseStrongRef : not "
|
"xrpl::IntrusiveRefCounts::addWeakReleaseStrongRef : not "
|
||||||
"started partial destroy");
|
"started partial destroy");
|
||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
@@ -408,11 +408,11 @@ inline IntrusiveRefCounts::~IntrusiveRefCounts() noexcept
|
|||||||
auto v = refCounts.load(std::memory_order_acquire);
|
auto v = refCounts.load(std::memory_order_acquire);
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(!(v & valueMask)),
|
(!(v & valueMask)),
|
||||||
"ripple::IntrusiveRefCounts::~IntrusiveRefCounts : count must be zero");
|
"xrpl::IntrusiveRefCounts::~IntrusiveRefCounts : count must be zero");
|
||||||
auto t = v & tagMask;
|
auto t = v & tagMask;
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(!t || t == tagMask),
|
(!t || t == tagMask),
|
||||||
"ripple::IntrusiveRefCounts::~IntrusiveRefCounts : valid tag");
|
"xrpl::IntrusiveRefCounts::~IntrusiveRefCounts : valid tag");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -427,7 +427,7 @@ inline IntrusiveRefCounts::RefCountPair::RefCountPair(
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(strong < checkStrongMaxValue && weak < checkWeakMaxValue),
|
(strong < checkStrongMaxValue && weak < checkWeakMaxValue),
|
||||||
"ripple::IntrusiveRefCounts::RefCountPair(FieldType) : inputs inside "
|
"xrpl::IntrusiveRefCounts::RefCountPair(FieldType) : inputs inside "
|
||||||
"range");
|
"range");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -438,7 +438,7 @@ inline IntrusiveRefCounts::RefCountPair::RefCountPair(
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(strong < checkStrongMaxValue && weak < checkWeakMaxValue),
|
(strong < checkStrongMaxValue && weak < checkWeakMaxValue),
|
||||||
"ripple::IntrusiveRefCounts::RefCountPair(CountType, CountType) : "
|
"xrpl::IntrusiveRefCounts::RefCountPair(CountType, CountType) : "
|
||||||
"inputs inside range");
|
"inputs inside range");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ IntrusiveRefCounts::RefCountPair::combinedValue() const noexcept
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(strong < checkStrongMaxValue && weak < checkWeakMaxValue),
|
(strong < checkStrongMaxValue && weak < checkWeakMaxValue),
|
||||||
"ripple::IntrusiveRefCounts::RefCountPair::combinedValue : inputs "
|
"xrpl::IntrusiveRefCounts::RefCountPair::combinedValue : inputs "
|
||||||
"inside range");
|
"inside range");
|
||||||
return (static_cast<IntrusiveRefCounts::FieldType>(weak)
|
return (static_cast<IntrusiveRefCounts::FieldType>(weak)
|
||||||
<< IntrusiveRefCounts::StrongCountNumBits) |
|
<< IntrusiveRefCounts::StrongCountNumBits) |
|
||||||
@@ -465,7 +465,7 @@ partialDestructorFinished(T** o)
|
|||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(!p.partialDestroyFinishedBit && p.partialDestroyStartedBit &&
|
(!p.partialDestroyFinishedBit && p.partialDestroyStartedBit &&
|
||||||
!p.strong),
|
!p.strong),
|
||||||
"ripple::partialDestructorFinished : not a weak ref");
|
"xrpl::partialDestructorFinished : not a weak ref");
|
||||||
if (!p.weak)
|
if (!p.weak)
|
||||||
{
|
{
|
||||||
// There was a weak count before the partial destructor ran (or we would
|
// There was a weak count before the partial destructor ran (or we would
|
||||||
@@ -479,5 +479,5 @@ partialDestructorFinished(T** o)
|
|||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
#include <xrpl/basics/TaggedCache.h>
|
#include <xrpl/basics/TaggedCache.h>
|
||||||
#include <xrpl/basics/base_uint.h>
|
#include <xrpl/basics/base_uint.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
using KeyCache = TaggedCache<uint256, int, true>;
|
using KeyCache = TaggedCache<uint256, int, true>;
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_KEYCACHE_H
|
#endif // XRPL_BASICS_KEYCACHE_H
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
@@ -109,6 +109,6 @@ LocalValue<T>::operator*()
|
|||||||
.emplace(this, std::make_unique<detail::LocalValues::Value<T>>(t_))
|
.emplace(this, std::make_unique<detail::LocalValues::Value<T>>(t_))
|
||||||
.first->second->get());
|
.first->second->get());
|
||||||
}
|
}
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// DEPRECATED use beast::severities::Severity instead
|
// DEPRECATED use beast::severities::Severity instead
|
||||||
enum LogSeverity {
|
enum LogSeverity {
|
||||||
@@ -271,6 +271,6 @@ setDebugLogSink(std::unique_ptr<beast::Journal::Sink> sink);
|
|||||||
beast::Journal
|
beast::Journal
|
||||||
debugLog();
|
debugLog();
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Calculate one number divided by another number in percentage.
|
/** Calculate one number divided by another number in percentage.
|
||||||
* The result is rounded up to the next integer, and capped in the range [0,100]
|
* The result is rounded up to the next integer, and capped in the range [0,100]
|
||||||
@@ -44,6 +44,6 @@ static_assert(calculatePercent(50'000'000, 100'000'000) == 50);
|
|||||||
static_assert(calculatePercent(50'000'001, 100'000'000) == 51);
|
static_assert(calculatePercent(50'000'001, 100'000'000) == 51);
|
||||||
static_assert(calculatePercent(99'999'999, 100'000'000) == 100);
|
static_assert(calculatePercent(99'999'999, 100'000'000) == 100);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class Number;
|
class Number;
|
||||||
|
|
||||||
@@ -404,6 +404,6 @@ public:
|
|||||||
operator=(NumberRoundModeGuard const&) = delete;
|
operator=(NumberRoundModeGuard const&) = delete;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_NUMBER_H_INCLUDED
|
#endif // XRPL_BASICS_NUMBER_H_INCLUDED
|
||||||
|
|||||||
@@ -21,11 +21,11 @@ ripple/basic should contain no dependencies on other modules.
|
|||||||
- `std::set`
|
- `std::set`
|
||||||
- For sorted containers.
|
- For sorted containers.
|
||||||
|
|
||||||
- `ripple::hash_set`
|
- `xrpl::hash_set`
|
||||||
- Where inserts and contains need to be O(1).
|
- Where inserts and contains need to be O(1).
|
||||||
- For "small" sets, `std::set` might be faster and smaller.
|
- For "small" sets, `std::set` might be faster and smaller.
|
||||||
|
|
||||||
- `ripple::hardened_hash_set`
|
- `xrpl::hardened_hash_set`
|
||||||
- For data sets where the key could be manipulated by an attacker
|
- For data sets where the key could be manipulated by an attacker
|
||||||
in an attempt to mount an algorithmic complexity attack: see
|
in an attempt to mount an algorithmic complexity attack: see
|
||||||
http://en.wikipedia.org/wiki/Algorithmic_complexity_attack
|
http://en.wikipedia.org/wiki/Algorithmic_complexity_attack
|
||||||
@@ -33,5 +33,5 @@ ripple/basic should contain no dependencies on other modules.
|
|||||||
The following container is deprecated
|
The following container is deprecated
|
||||||
|
|
||||||
- `std::unordered_set`
|
- `std::unordered_set`
|
||||||
- Use `ripple::hash_set` instead, which uses a better hashing algorithm.
|
- Use `xrpl::hash_set` instead, which uses a better hashing algorithm.
|
||||||
- Or use `ripple::hardened_hash_set` to prevent algorithmic complexity attacks.
|
- Or use `xrpl::hardened_hash_set` to prevent algorithmic complexity attacks.
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** A closed interval over the domain T.
|
/** A closed interval over the domain T.
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ to_string(RangeSet<T> const& rs)
|
|||||||
|
|
||||||
std::string s;
|
std::string s;
|
||||||
for (auto const& interval : rs)
|
for (auto const& interval : rs)
|
||||||
s += ripple::to_string(interval) + ",";
|
s += xrpl::to_string(interval) + ",";
|
||||||
s.pop_back();
|
s.pop_back();
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
@@ -172,6 +172,6 @@ prevMissing(RangeSet<T> const& rs, T t, T minVal = 0)
|
|||||||
return boost::icl::last(tgt);
|
return boost::icl::last(tgt);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class Resolver
|
class Resolver
|
||||||
{
|
{
|
||||||
@@ -47,6 +47,6 @@ public:
|
|||||||
/** @} */
|
/** @} */
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <boost/asio/io_context.hpp>
|
#include <boost/asio/io_context.hpp>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class ResolverAsio : public Resolver
|
class ResolverAsio : public Resolver
|
||||||
{
|
{
|
||||||
@@ -17,6 +17,6 @@ public:
|
|||||||
New(boost::asio::io_context&, beast::Journal);
|
New(boost::asio::io_context&, beast::Journal);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// A SHAMapHash is the hash of a node in a SHAMap, and also the
|
// A SHAMapHash is the hash of a node in a SHAMap, and also the
|
||||||
// type of the hash of the entire SHAMap.
|
// type of the hash of the entire SHAMap.
|
||||||
@@ -97,6 +97,6 @@ extract(SHAMapHash const& key)
|
|||||||
return *reinterpret_cast<std::size_t const*>(key.as_uint256().data());
|
return *reinterpret_cast<std::size_t const*>(key.as_uint256().data());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_SHAMAP_HASH_H_INCLUDED
|
#endif // XRPL_BASICS_SHAMAP_HASH_H_INCLUDED
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <variant>
|
#include <variant>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** A combination of a std::shared_ptr and a std::weak_pointer.
|
/** A combination of a std::shared_ptr and a std::weak_pointer.
|
||||||
|
|
||||||
@@ -112,5 +112,5 @@ public:
|
|||||||
private:
|
private:
|
||||||
std::variant<std::shared_ptr<T>, std::weak_ptr<T>> combo_;
|
std::variant<std::shared_ptr<T>, std::weak_ptr<T>> combo_;
|
||||||
};
|
};
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <xrpl/basics/SharedWeakCachePointer.h>
|
#include <xrpl/basics/SharedWeakCachePointer.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
template <class T>
|
template <class T>
|
||||||
SharedWeakCachePointer<T>::SharedWeakCachePointer(
|
SharedWeakCachePointer<T>::SharedWeakCachePointer(
|
||||||
SharedWeakCachePointer const& rhs) = default;
|
SharedWeakCachePointer const& rhs) = default;
|
||||||
@@ -169,5 +169,5 @@ SharedWeakCachePointer<T>::convertToWeak()
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
class SlabAllocator
|
class SlabAllocator
|
||||||
@@ -128,7 +128,7 @@ class SlabAllocator
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
own(ptr),
|
own(ptr),
|
||||||
"ripple::SlabAllocator::SlabBlock::deallocate : own input");
|
"xrpl::SlabAllocator::SlabBlock::deallocate : own input");
|
||||||
|
|
||||||
std::lock_guard l(m_);
|
std::lock_guard l(m_);
|
||||||
|
|
||||||
@@ -173,7 +173,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
(itemAlignment_ & (itemAlignment_ - 1)) == 0,
|
(itemAlignment_ & (itemAlignment_ - 1)) == 0,
|
||||||
"ripple::SlabAllocator::SlabAllocator : valid alignment");
|
"xrpl::SlabAllocator::SlabAllocator : valid alignment");
|
||||||
}
|
}
|
||||||
|
|
||||||
SlabAllocator(SlabAllocator const& other) = delete;
|
SlabAllocator(SlabAllocator const& other) = delete;
|
||||||
@@ -285,7 +285,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
ptr,
|
ptr,
|
||||||
"ripple::SlabAllocator::SlabAllocator::deallocate : non-null "
|
"xrpl::SlabAllocator::SlabAllocator::deallocate : non-null "
|
||||||
"input");
|
"input");
|
||||||
|
|
||||||
for (auto slab = slabs_.load(); slab != nullptr; slab = slab->next_)
|
for (auto slab = slabs_.load(); slab != nullptr; slab = slab->next_)
|
||||||
@@ -419,6 +419,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_SLABALLOCATOR_H_INCLUDED
|
#endif // XRPL_BASICS_SLABALLOCATOR_H_INCLUDED
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** An immutable linear range of bytes.
|
/** An immutable linear range of bytes.
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
i < size_,
|
i < size_,
|
||||||
"ripple::Slice::operator[](std::size_t) const : valid input");
|
"xrpl::Slice::operator[](std::size_t) const : valid input");
|
||||||
return data_[i];
|
return data_[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,6 +243,6 @@ makeSlice(std::basic_string<char, Traits, Alloc> const& s)
|
|||||||
return Slice(s.data(), s.size());
|
return Slice(s.data(), s.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <optional>
|
#include <optional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Format arbitrary binary data as an SQLite "blob literal".
|
/** Format arbitrary binary data as an SQLite "blob literal".
|
||||||
|
|
||||||
@@ -132,6 +132,6 @@ to_uint64(std::string const& s);
|
|||||||
bool
|
bool
|
||||||
isProperlyFormedTomlDomain(std::string_view domain);
|
isProperlyFormedTomlDomain(std::string_view domain);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Map/cache combination.
|
/** Map/cache combination.
|
||||||
This class implements a cache and a map. The cache keeps objects alive
|
This class implements a cache and a map. The cache keeps objects alive
|
||||||
@@ -315,6 +315,6 @@ private:
|
|||||||
std::uint64_t m_misses;
|
std::uint64_t m_misses;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <xrpl/basics/IntrusivePointer.ipp>
|
#include <xrpl/basics/IntrusivePointer.ipp>
|
||||||
#include <xrpl/basics/TaggedCache.h>
|
#include <xrpl/basics/TaggedCache.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <
|
template <
|
||||||
class Key,
|
class Key,
|
||||||
@@ -1005,6 +1005,6 @@ TaggedCache<
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** to_string() generalizes std::to_string to handle bools, chars, and strings.
|
/** to_string() generalizes std::to_string to handle bools, chars, and strings.
|
||||||
|
|
||||||
@@ -43,6 +43,6 @@ to_string(char const* s)
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
* what container it is.
|
* what container it is.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// hash containers
|
// hash containers
|
||||||
|
|
||||||
@@ -102,6 +102,6 @@ template <
|
|||||||
using hardened_hash_multiset =
|
using hardened_hash_multiset =
|
||||||
std::unordered_multiset<Value, Hash, Pred, Allocator>;
|
std::unordered_multiset<Value, Hash, Pred, Allocator>;
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <ratio>
|
#include <ratio>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Tracks program uptime to seconds precision.
|
/** Tracks program uptime to seconds precision.
|
||||||
|
|
||||||
@@ -45,6 +45,6 @@ private:
|
|||||||
start_clock();
|
start_clock();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// Requires: [first1, last1) and [first2, last2) are ordered ranges according to
|
// Requires: [first1, last1) and [first2, last2) are ordered ranges according to
|
||||||
// comp.
|
// comp.
|
||||||
@@ -95,6 +95,6 @@ remove_if_intersect_or_match(
|
|||||||
return first1;
|
return first1;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
std::string
|
std::string
|
||||||
base64_encode(std::uint8_t const* data, std::size_t len);
|
base64_encode(std::uint8_t const* data, std::size_t len);
|
||||||
@@ -53,6 +53,6 @@ base64_encode(std::string const& s)
|
|||||||
std::string
|
std::string
|
||||||
base64_decode(std::string_view data);
|
base64_decode(std::string_view data);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
@@ -275,7 +275,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
c.size() * sizeof(typename Container::value_type) == size(),
|
c.size() * sizeof(typename Container::value_type) == size(),
|
||||||
"ripple::base_uint::base_uint(Container auto) : input size match");
|
"xrpl::base_uint::base_uint(Container auto) : input size match");
|
||||||
std::memcpy(data_.data(), c.data(), size());
|
std::memcpy(data_.data(), c.data(), size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,7 +288,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
c.size() * sizeof(typename Container::value_type) == size(),
|
c.size() * sizeof(typename Container::value_type) == size(),
|
||||||
"ripple::base_uint::operator=(Container auto) : input size match");
|
"xrpl::base_uint::operator=(Container auto) : input size match");
|
||||||
std::memcpy(data_.data(), c.data(), size());
|
std::memcpy(data_.data(), c.data(), size());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@@ -648,12 +648,12 @@ static_assert(sizeof(uint192) == 192 / 8, "There should be no padding bytes");
|
|||||||
static_assert(sizeof(uint256) == 256 / 8, "There should be no padding bytes");
|
static_assert(sizeof(uint256) == 256 / 8, "There should be no padding bytes");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
namespace beast {
|
namespace beast {
|
||||||
|
|
||||||
template <std::size_t Bits, class Tag>
|
template <std::size_t Bits, class Tag>
|
||||||
struct is_uniquely_represented<ripple::base_uint<Bits, Tag>>
|
struct is_uniquely_represented<xrpl::base_uint<Bits, Tag>>
|
||||||
: public std::true_type
|
: public std::true_type
|
||||||
{
|
{
|
||||||
explicit is_uniquely_represented() = default;
|
explicit is_uniquely_represented() = default;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <ratio>
|
#include <ratio>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// A few handy aliases
|
// A few handy aliases
|
||||||
|
|
||||||
@@ -104,6 +104,6 @@ stopwatch()
|
|||||||
return beast::get_abstract_clock<Facade, Clock>();
|
return beast::get_abstract_clock<Facade, Clock>();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
|
||||||
@@ -52,6 +52,6 @@ using equal_to = std::equal_to<T>;
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/* Programming By Contract
|
/* Programming By Contract
|
||||||
|
|
||||||
@@ -52,6 +52,6 @@ Throw(Args&&... args)
|
|||||||
[[noreturn]] void
|
[[noreturn]] void
|
||||||
LogicError(std::string const& how) noexcept;
|
LogicError(std::string const& how) noexcept;
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
#include <random>
|
#include <random>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
@@ -92,6 +92,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <class Stream, class Iter>
|
template <class Stream, class Iter>
|
||||||
Stream&
|
Stream&
|
||||||
@@ -85,6 +85,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Create a self-signed SSL context that allows anonymous Diffie Hellman. */
|
/** Create a self-signed SSL context that allows anonymous Diffie Hellman. */
|
||||||
std::shared_ptr<boost::asio::ssl::context>
|
std::shared_ptr<boost::asio::ssl::context>
|
||||||
@@ -19,6 +19,6 @@ make_SSLContextAuthed(
|
|||||||
std::string const& chainFile,
|
std::string const& chainFile,
|
||||||
std::string const& cipherList);
|
std::string const& cipherList);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <limits>
|
#include <limits>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
auto constexpr muldiv_max = std::numeric_limits<std::uint64_t>::max();
|
auto constexpr muldiv_max = std::numeric_limits<std::uint64_t>::max();
|
||||||
|
|
||||||
/** Return value*mul/div accurately.
|
/** Return value*mul/div accurately.
|
||||||
@@ -21,6 +21,6 @@ auto constexpr muldiv_max = std::numeric_limits<std::uint64_t>::max();
|
|||||||
std::optional<std::uint64_t>
|
std::optional<std::uint64_t>
|
||||||
mulDiv(std::uint64_t value, std::uint64_t mul, std::uint64_t div);
|
mulDiv(std::uint64_t value, std::uint64_t mul, std::uint64_t div);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <typename Key>
|
template <typename Key>
|
||||||
static std::size_t
|
static std::size_t
|
||||||
@@ -242,7 +242,7 @@ public:
|
|||||||
map_.resize(partitions_);
|
map_.resize(partitions_);
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
partitions_,
|
partitions_,
|
||||||
"ripple::partitioned_unordered_map::partitioned_unordered_map : "
|
"xrpl::partitioned_unordered_map::partitioned_unordered_map : "
|
||||||
"nonzero partitions");
|
"nonzero partitions");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -401,6 +401,6 @@ private:
|
|||||||
mutable partition_map_type map_{};
|
mutable partition_map_type map_{};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_PARTITIONED_UNORDERED_MAP_H
|
#endif // XRPL_BASICS_PARTITIONED_UNORDERED_MAP_H
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#include <random>
|
#include <random>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
#ifndef __INTELLISENSE__
|
#ifndef __INTELLISENSE__
|
||||||
static_assert(
|
static_assert(
|
||||||
@@ -95,7 +95,7 @@ std::enable_if_t<
|
|||||||
Integral>
|
Integral>
|
||||||
rand_int(Engine& engine, Integral min, Integral max)
|
rand_int(Engine& engine, Integral min, Integral max)
|
||||||
{
|
{
|
||||||
XRPL_ASSERT(max > min, "ripple::rand_int : max over min inputs");
|
XRPL_ASSERT(max > min, "xrpl::rand_int : max over min inputs");
|
||||||
|
|
||||||
// This should have no state and constructing it should
|
// This should have no state and constructing it should
|
||||||
// be very cheap. If that turns out not to be the case
|
// be very cheap. If that turns out not to be the case
|
||||||
@@ -186,6 +186,6 @@ rand_bool()
|
|||||||
}
|
}
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif // XRPL_BASICS_RANDOM_H_INCLUDED
|
#endif // XRPL_BASICS_RANDOM_H_INCLUDED
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// safe_cast adds compile-time checks to a static_cast to ensure that
|
// safe_cast adds compile-time checks to a static_cast to ensure that
|
||||||
// the destination can hold all values of the source. This is particularly
|
// the destination can hold all values of the source. This is particularly
|
||||||
@@ -80,6 +80,6 @@ inline constexpr std::
|
|||||||
return unsafe_cast<Dest>(static_cast<std::underlying_type_t<Src>>(s));
|
return unsafe_cast<Dest>(static_cast<std::underlying_type_t<Src>>(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
// RAII scope helpers. As specified in Library Fundamental, Version 3
|
// RAII scope helpers. As specified in Library Fundamental, Version 3
|
||||||
// Basic design of idea: https://www.youtube.com/watch?v=WjTrfoiB0MQ
|
// Basic design of idea: https://www.youtube.com/watch?v=WjTrfoiB0MQ
|
||||||
@@ -218,7 +218,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
plock->owns_lock(),
|
plock->owns_lock(),
|
||||||
"ripple::scope_unlock::scope_unlock : mutex must be locked");
|
"xrpl::scope_unlock::scope_unlock : mutex must be locked");
|
||||||
plock->unlock();
|
plock->unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,6 +236,6 @@ public:
|
|||||||
template <class Mutex>
|
template <class Mutex>
|
||||||
scope_unlock(std::unique_lock<Mutex>&) -> scope_unlock<Mutex>;
|
scope_unlock(std::unique_lock<Mutex>&) -> scope_unlock<Mutex>;
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
/** Inform the processor that we are in a tight spin-wait loop.
|
/** Inform the processor that we are in a tight spin-wait loop.
|
||||||
@@ -105,7 +105,7 @@ public:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
index >= 0 && (mask_ != 0),
|
index >= 0 && (mask_ != 0),
|
||||||
"ripple::packed_spinlock::packed_spinlock : valid index and mask");
|
"xrpl::packed_spinlock::packed_spinlock : valid index and mask");
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] bool
|
[[nodiscard]] bool
|
||||||
@@ -206,6 +206,6 @@ public:
|
|||||||
};
|
};
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <boost/algorithm/hex.hpp>
|
#include <boost/algorithm/hex.hpp>
|
||||||
#include <boost/endian/conversion.hpp>
|
#include <boost/endian/conversion.hpp>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
template <class FwdIt>
|
template <class FwdIt>
|
||||||
std::string
|
std::string
|
||||||
@@ -28,6 +28,6 @@ strHex(T const& from)
|
|||||||
return strHex(from.begin(), from.end());
|
return strHex(from.begin(), from.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** A type-safe wrap around standard integral types
|
/** A type-safe wrap around standard integral types
|
||||||
|
|
||||||
@@ -197,11 +197,11 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
namespace beast {
|
namespace beast {
|
||||||
template <class Int, class Tag, class HashAlgorithm>
|
template <class Int, class Tag, class HashAlgorithm>
|
||||||
struct is_contiguously_hashable<ripple::tagged_integer<Int, Tag>, HashAlgorithm>
|
struct is_contiguously_hashable<xrpl::tagged_integer<Int, Tag>, HashAlgorithm>
|
||||||
: public is_contiguously_hashable<Int, HashAlgorithm>
|
: public is_contiguously_hashable<Int, HashAlgorithm>
|
||||||
{
|
{
|
||||||
explicit is_contiguously_hashable() = default;
|
explicit is_contiguously_hashable() = default;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class RFC1751
|
class RFC1751
|
||||||
{
|
{
|
||||||
@@ -42,6 +42,6 @@ private:
|
|||||||
static char const* s_dictionary[];
|
static char const* s_dictionary[];
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** A cryptographically secure random number engine
|
/** A cryptographically secure random number engine
|
||||||
|
|
||||||
@@ -70,6 +70,6 @@ public:
|
|||||||
csprng_engine&
|
csprng_engine&
|
||||||
crypto_prng();
|
crypto_prng();
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Attempts to clear the given blob of memory.
|
/** Attempts to clear the given blob of memory.
|
||||||
|
|
||||||
@@ -22,6 +22,6 @@ namespace ripple {
|
|||||||
void
|
void
|
||||||
secure_erase(void* dest, std::size_t bytes);
|
secure_erase(void* dest, std::size_t bytes);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <xrpl/beast/utility/PropertyStream.h>
|
#include <xrpl/beast/utility/PropertyStream.h>
|
||||||
#include <xrpl/json/json_value.h>
|
#include <xrpl/json/json_value.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** A PropertyStream::Sink which produces a Json::Value of type objectValue. */
|
/** A PropertyStream::Sink which produces a Json::Value of type objectValue. */
|
||||||
class JsonPropertyStream : public beast::PropertyStream
|
class JsonPropertyStream : public beast::PropertyStream
|
||||||
@@ -66,6 +66,6 @@ protected:
|
|||||||
add(std::string const& v) override;
|
add(std::string const& v) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ inline void
|
|||||||
check(bool condition, std::string const& message)
|
check(bool condition, std::string const& message)
|
||||||
{
|
{
|
||||||
if (!condition)
|
if (!condition)
|
||||||
ripple::Throw<std::logic_error>(message);
|
xrpl::Throw<std::logic_error>(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Json
|
} // namespace Json
|
||||||
|
|||||||
@@ -6,6 +6,6 @@
|
|||||||
|
|
||||||
#define JSON_ASSERT_MESSAGE(condition, message) \
|
#define JSON_ASSERT_MESSAGE(condition, message) \
|
||||||
if (!(condition)) \
|
if (!(condition)) \
|
||||||
ripple::Throw<Json::error>(message);
|
xrpl::Throw<Json::error>(message);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ public:
|
|||||||
Value(UInt value);
|
Value(UInt value);
|
||||||
Value(double value);
|
Value(double value);
|
||||||
Value(char const* value);
|
Value(char const* value);
|
||||||
Value(ripple::Number const& value);
|
Value(xrpl::Number const& value);
|
||||||
/** \brief Constructs a value from a static string.
|
/** \brief Constructs a value from a static string.
|
||||||
|
|
||||||
* Like other value string constructor but do not duplicate the string for
|
* Like other value string constructor but do not duplicate the string for
|
||||||
@@ -422,7 +422,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
inline Value
|
inline Value
|
||||||
to_json(ripple::Number const& number)
|
to_json(xrpl::Number const& number)
|
||||||
{
|
{
|
||||||
return to_string(number);
|
return to_string(number);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <xrpl/ledger/RawView.h>
|
#include <xrpl/ledger/RawView.h>
|
||||||
#include <xrpl/ledger/ReadView.h>
|
#include <xrpl/ledger/ReadView.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
enum ApplyFlags : std::uint32_t {
|
enum ApplyFlags : std::uint32_t {
|
||||||
tapNONE = 0x00,
|
tapNONE = 0x00,
|
||||||
@@ -267,7 +267,7 @@ public:
|
|||||||
{
|
{
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
UNREACHABLE(
|
UNREACHABLE(
|
||||||
"ripple::ApplyView::dirAppend : only Offers are appended to "
|
"xrpl::ApplyView::dirAppend : only Offers are appended to "
|
||||||
"book directories");
|
"book directories");
|
||||||
// Only Offers are appended to book directories. Call dirInsert()
|
// Only Offers are appended to book directories. Call dirInsert()
|
||||||
// instead
|
// instead
|
||||||
@@ -368,6 +368,6 @@ public:
|
|||||||
emptyDirDelete(Keylet const& directory);
|
emptyDirDelete(Keylet const& directory);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <xrpl/protocol/STAmount.h>
|
#include <xrpl/protocol/STAmount.h>
|
||||||
#include <xrpl/protocol/TER.h>
|
#include <xrpl/protocol/TER.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Editable, discardable view that can build metadata for one tx.
|
/** Editable, discardable view that can build metadata for one tx.
|
||||||
|
|
||||||
@@ -75,6 +75,6 @@ private:
|
|||||||
std::optional<STAmount> deliver_;
|
std::optional<STAmount> deliver_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <xrpl/beast/utility/Journal.h>
|
#include <xrpl/beast/utility/Journal.h>
|
||||||
#include <xrpl/ledger/ReadView.h>
|
#include <xrpl/ledger/ReadView.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class BookDirs
|
class BookDirs
|
||||||
{
|
{
|
||||||
@@ -89,6 +89,6 @@ private:
|
|||||||
static beast::Journal j_;
|
static beast::Journal j_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <xrpl/basics/base_uint.h>
|
#include <xrpl/basics/base_uint.h>
|
||||||
#include <xrpl/protocol/STLedgerEntry.h>
|
#include <xrpl/protocol/STLedgerEntry.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
using CachedSLEs = TaggedCache<uint256, SLE const>;
|
using CachedSLEs = TaggedCache<uint256, SLE const>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
@@ -164,6 +164,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#include <xrpl/protocol/STTx.h>
|
#include <xrpl/protocol/STTx.h>
|
||||||
#include <xrpl/protocol/TER.h>
|
#include <xrpl/protocol/TER.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace credentials {
|
namespace credentials {
|
||||||
|
|
||||||
// These function will be used by the code that use DepositPreauth / Credentials
|
// These function will be used by the code that use DepositPreauth / Credentials
|
||||||
@@ -93,6 +93,6 @@ verifyDepositPreauth(
|
|||||||
std::shared_ptr<SLE> const& sleDst,
|
std::shared_ptr<SLE> const& sleDst,
|
||||||
beast::Journal j);
|
beast::Journal j);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <xrpl/ledger/ReadView.h>
|
#include <xrpl/ledger/ReadView.h>
|
||||||
#include <xrpl/protocol/Indexes.h>
|
#include <xrpl/protocol/Indexes.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** A class that simplifies iterating ledger directory pages
|
/** A class that simplifies iterating ledger directory pages
|
||||||
|
|
||||||
@@ -108,6 +108,6 @@ private:
|
|||||||
std::vector<uint256>::const_iterator it_;
|
std::vector<uint256>::const_iterator it_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Open ledger construction tag.
|
/** Open ledger construction tag.
|
||||||
|
|
||||||
@@ -252,6 +252,6 @@ public:
|
|||||||
std::shared_ptr<Serializer const> const& metaData) override;
|
std::shared_ptr<Serializer const> const& metaData) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
@@ -188,6 +188,6 @@ private:
|
|||||||
PaymentSandbox const* ps_ = nullptr;
|
PaymentSandbox const* ps_ = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <xrpl/protocol/STLedgerEntry.h>
|
#include <xrpl/protocol/STLedgerEntry.h>
|
||||||
#include <xrpl/protocol/Serializer.h>
|
#include <xrpl/protocol/Serializer.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Interface for ledger entry changes.
|
/** Interface for ledger entry changes.
|
||||||
|
|
||||||
@@ -87,6 +87,6 @@ public:
|
|||||||
std::shared_ptr<Serializer const> const& metaData) = 0;
|
std::shared_ptr<Serializer const> const& metaData) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#include <optional>
|
#include <optional>
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ makeRulesGivenLedger(
|
|||||||
DigestAwareReadView const& ledger,
|
DigestAwareReadView const& ledger,
|
||||||
std::unordered_set<uint256, beast::uhash<>> const& presets);
|
std::unordered_set<uint256, beast::uhash<>> const& presets);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#include <xrpl/ledger/detail/ReadViewFwdRange.ipp>
|
#include <xrpl/ledger/detail/ReadViewFwdRange.ipp>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <xrpl/ledger/RawView.h>
|
#include <xrpl/ledger/RawView.h>
|
||||||
#include <xrpl/ledger/detail/ApplyViewBase.h>
|
#include <xrpl/ledger/detail/ApplyViewBase.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Discardable, editable view to a ledger.
|
/** Discardable, editable view to a ledger.
|
||||||
|
|
||||||
@@ -39,6 +39,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
enum class WaiveTransferFee : bool { No = false, Yes };
|
enum class WaiveTransferFee : bool { No = false, Yes };
|
||||||
enum class SkipEntry : bool { No = false, Yes };
|
enum class SkipEntry : bool { No = false, Yes };
|
||||||
@@ -958,6 +958,6 @@ sharesToAssetsWithdraw(
|
|||||||
bool
|
bool
|
||||||
after(NetClock::time_point now, std::uint32_t mark);
|
after(NetClock::time_point now, std::uint32_t mark);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
// Helper class that buffers modifications
|
// Helper class that buffers modifications
|
||||||
@@ -139,6 +139,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <xrpl/ledger/detail/ApplyStateTable.h>
|
#include <xrpl/ledger/detail/ApplyStateTable.h>
|
||||||
#include <xrpl/protocol/XRPAmount.h>
|
#include <xrpl/protocol/XRPAmount.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
class ApplyViewBase : public ApplyView, public RawView
|
class ApplyViewBase : public ApplyView, public RawView
|
||||||
@@ -106,6 +106,6 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
// Helper class that buffers raw modifications
|
// Helper class that buffers raw modifications
|
||||||
@@ -118,6 +118,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class ReadView;
|
class ReadView;
|
||||||
|
|
||||||
@@ -130,6 +130,6 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef XRPL_LEDGER_READVIEWFWDRANGEINL_H_INCLUDED
|
#ifndef XRPL_LEDGER_READVIEWFWDRANGEINL_H_INCLUDED
|
||||||
#define XRPL_LEDGER_READVIEWFWDRANGEINL_H_INCLUDED
|
#define XRPL_LEDGER_READVIEWFWDRANGEINL_H_INCLUDED
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
template <class ValueType>
|
template <class ValueType>
|
||||||
@@ -63,7 +63,7 @@ ReadViewFwdRange<ValueType>::iterator::operator==(iterator const& other) const
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
view_ == other.view_,
|
view_ == other.view_,
|
||||||
"ripple::detail::ReadViewFwdRange::iterator::operator==(iterator) "
|
"xrpl::detail::ReadViewFwdRange::iterator::operator==(iterator) "
|
||||||
"const : input view match");
|
"const : input view match");
|
||||||
|
|
||||||
if (impl_ != nullptr && other.impl_ != nullptr)
|
if (impl_ != nullptr && other.impl_ != nullptr)
|
||||||
@@ -115,6 +115,6 @@ ReadViewFwdRange<ValueType>::iterator::operator++(int) -> iterator
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -269,7 +269,7 @@ protected:
|
|||||||
error_code const& ec,
|
error_code const& ec,
|
||||||
size_t bytesTransferred)
|
size_t bytesTransferred)
|
||||||
{
|
{
|
||||||
using namespace ripple;
|
using namespace xrpl;
|
||||||
|
|
||||||
if (ec)
|
if (ec)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** Provides an asynchronous HTTP client implementation with optional SSL.
|
/** Provides an asynchronous HTTP client implementation with optional SSL.
|
||||||
*/
|
*/
|
||||||
@@ -75,6 +75,6 @@ public:
|
|||||||
beast::Journal& j);
|
beast::Journal& j);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#include <boost/asio/ssl.hpp>
|
#include <boost/asio/ssl.hpp>
|
||||||
#include <boost/format.hpp>
|
#include <boost/format.hpp>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
class HTTPClientSSLContext
|
class HTTPClientSSLContext
|
||||||
{
|
{
|
||||||
@@ -176,6 +176,6 @@ private:
|
|||||||
bool const verify_;
|
bool const verify_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include <boost/asio/ssl/context.hpp>
|
#include <boost/asio/ssl/context.hpp>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
/** Register default SSL certificates.
|
/** Register default SSL certificates.
|
||||||
|
|
||||||
Register the system default SSL root certificates. On linux/mac,
|
Register the system default SSL root certificates. On linux/mac,
|
||||||
@@ -19,6 +19,6 @@ registerSSLCerts(
|
|||||||
boost::system::error_code&,
|
boost::system::error_code&,
|
||||||
beast::Journal j);
|
beast::Journal j);
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace NodeStore {
|
namespace NodeStore {
|
||||||
|
|
||||||
/** A backend used for the NodeStore.
|
/** A backend used for the NodeStore.
|
||||||
@@ -143,6 +143,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NodeStore
|
} // namespace NodeStore
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace NodeStore {
|
namespace NodeStore {
|
||||||
|
|
||||||
@@ -230,7 +230,7 @@ protected:
|
|||||||
{
|
{
|
||||||
XRPL_ASSERT(
|
XRPL_ASSERT(
|
||||||
count <= sz,
|
count <= sz,
|
||||||
"ripple::NodeStore::Database::storeStats : valid inputs");
|
"xrpl::NodeStore::Database::storeStats : valid inputs");
|
||||||
storeCount_ += count;
|
storeCount_ += count;
|
||||||
storeSz_ += sz;
|
storeSz_ += sz;
|
||||||
}
|
}
|
||||||
@@ -291,6 +291,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NodeStore
|
} // namespace NodeStore
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <xrpl/nodestore/Database.h>
|
#include <xrpl/nodestore/Database.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace NodeStore {
|
namespace NodeStore {
|
||||||
|
|
||||||
/* This class has two key-value store Backend objects for persisting SHAMap
|
/* This class has two key-value store Backend objects for persisting SHAMap
|
||||||
@@ -39,6 +39,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NodeStore
|
} // namespace NodeStore
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <xrpl/nodestore/Scheduler.h>
|
#include <xrpl/nodestore/Scheduler.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
namespace NodeStore {
|
namespace NodeStore {
|
||||||
|
|
||||||
/** Simple NodeStore Scheduler that just peforms the tasks synchronously. */
|
/** Simple NodeStore Scheduler that just peforms the tasks synchronously. */
|
||||||
@@ -21,6 +21,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NodeStore
|
} // namespace NodeStore
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#include <nudb/store.hpp>
|
#include <nudb/store.hpp>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace NodeStore {
|
namespace NodeStore {
|
||||||
|
|
||||||
@@ -61,6 +61,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NodeStore
|
} // namespace NodeStore
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <xrpl/nodestore/DatabaseRotating.h>
|
#include <xrpl/nodestore/DatabaseRotating.h>
|
||||||
#include <xrpl/nodestore/Factory.h>
|
#include <xrpl/nodestore/Factory.h>
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
namespace NodeStore {
|
namespace NodeStore {
|
||||||
|
|
||||||
@@ -83,6 +83,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace NodeStore
|
} // namespace NodeStore
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
// VFALCO NOTE Intentionally not in the NodeStore namespace
|
// VFALCO NOTE Intentionally not in the NodeStore namespace
|
||||||
|
|
||||||
namespace ripple {
|
namespace xrpl {
|
||||||
|
|
||||||
/** The types of node objects. */
|
/** The types of node objects. */
|
||||||
enum NodeObjectType : std::uint32_t {
|
enum NodeObjectType : std::uint32_t {
|
||||||
@@ -81,6 +81,6 @@ private:
|
|||||||
Blob const mData;
|
Blob const mData;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace xrpl
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user