SBE는 대기 시간이 짧은 금융 애플리케이션을 위한 바이너리 애플리케이션 메시지를 인코딩 및 디코딩하기 위한 OSI 계층 6 프레젠테이션입니다. 이 저장소에는 Java, C++, Golang, C# 및 Rust의 참조 구현이 포함되어 있습니다.
SBE의 설계 및 사용법에 대한 자세한 내용은 Wiki에서 확인할 수 있습니다.
SBE 사양에 대한 XSD는 여기에서 찾을 수 있습니다. 사양에 대한 질문은 SBE FIX 커뮤니티에 문의하세요.
최신 버전 정보 및 변경 사항은 Maven Central의 다운로드가 포함된 변경 로그를 참조하세요.
Java 및 C++ SBE 구현은 대기 시간이 짧고 처리량이 높은 통신을 위해 Aeron 메시징 시스템과 매우 효율적으로 작동합니다. Java SBE 구현은 버퍼 구현을 위해 Agrona에 종속됩니다. 상업적 지원은 [email protected]에서 가능합니다.
Maven, Ivy, Gradle 등에 대한 바이너리 및 종속성 정보는 http://search.maven.org에서 찾을 수 있습니다.
Maven의 예:
< dependency >
< groupId >uk.co.real-logic</ groupId >
< artifactId >sbe-all</ artifactId >
< version >${sbe.tool.version}</ version >
</ dependency >
이 build.gradle 파일을 사용하여 Gradle로 프로젝트를 빌드하세요.
전체 클린 빌드:
$ ./gradlew
Java 예제 실행
$ ./gradlew runJavaExamples
다양한 모듈의 실행 파일, 소스 및 javadoc에 대한 Jar는 다음 디렉터리에서 찾을 수 있습니다.
sbe-benchmarks/build/libs
sbe-samples/build/libs
sbe-tool/build/libs
sbe-all/build/libs
Agrona 종속성을 포함하는 'all' jar을 사용하여 명령줄에서 Jar를 실행하는 예:
java -Dsbe.generate.ir=true -Dsbe.target.language=Cpp -Dsbe.target.namespace=sbe -Dsbe.output.dir=include/gen -Dsbe.errorLog=yes -jar sbe-all/build/libs/sbe-all-${SBE_TOOL_VERSION}.jar my-sbe-messages.xml
참고: 현재 Linux, Mac OS 및 Windows에만 해당됩니다. FAQ를 참조하세요. Windows 빌드는 Visual Studio Express 12를 사용하여 테스트되었습니다.
편의를 위해 cppbuild
스크립트는 릴리스 빌드로 모든 대상을 완전히 정리, 빌드 및 테스트합니다.
$ ./cppbuild/cppbuild
CMake 사용에 익숙하다면 전체 정리, 빌드 및 테스트는 다음과 같습니다.
$ mkdir -p cppbuild/Debug
$ cd cppbuild/Debug
$ cmake ../..
$ cmake --build . --clean-first
$ ctest
참고 : C++ 빌드에는 C 생성기가 포함되어 있습니다. 현재 C 생성기는 작업이 진행 중입니다.
먼저 Gradle을 사용하여 SBE jar을 생성한 다음 이를 사용하여 테스트용 golang 코드를 생성합니다.
$ ./gradlew
$ ./gradlew generateGolangCodecs
Linux에서의 편의를 위해 몇 가지 테스트를 실행하고 몇 가지 예제를 포함하는 gnu Makefile이 제공됩니다.
$ cd gocode
# make # test, examples, bench
Go는 인코딩/디코딩 메서드를 사용하여 Go 구조체 생성과 다른 언어와 같은 플라이웨이트 생성을 모두 지원합니다. 호환성을 위해 기본적으로 구조체가 생성됩니다. 플라이웨이트를 생성하려면 sbe.go.generate.generate.flyweights=true
설정하세요.
golang 생성 코드 사용자는 사용자 문서를 참조해야 합니다.
golang 생성기를 향상시키려는 개발자는 개발자 문서를 참조해야 합니다.
CSharp 생성 코드 사용자는 사용자 문서를 참조해야 합니다.
CSharp 생성기를 향상시키려는 개발자는 개발자 문서를 참조해야 합니다.
SBE Rust 생성기는 100% 안전한 녹 상자를 생성합니다( unsafe
코드는 생성되지 않습니다). 생성된 크레이트는 어떤 라이브러리에도 종속되지 않습니다(SBE 라이브러리가 없는 경우 포함). 아직 Rust가 설치되어 있지 않다면 Rust: 시작하기를 참조하세요.
Rust 코덱 생성
$ ./gradlew generateRustCodecs
Gradle에서 Rust 테스트 실행
$ ./gradlew runRustTests
또는 Cargo
로 직접 테스트를 실행하세요.
$ cd rust
$ cargo test
저작권 2013-2024 Real Logic Limited.
Copyright 2017 마켓팩토리(주)
Apache 라이센스 버전 2.0("라이센스")에 따라 라이센스가 부여되었습니다. 라이센스를 준수하는 경우를 제외하고는 이 파일을 사용할 수 없습니다. 다음에서 라이센스 사본을 얻을 수 있습니다.
https://www.apache.org/licenses/LICENSE-2.0
해당 법률에서 요구하거나 서면으로 동의하지 않는 한, 라이선스에 따라 배포되는 소프트웨어는 명시적이든 묵시적이든 어떠한 종류의 보증이나 조건 없이 "있는 그대로" 배포됩니다. 라이선스에 따른 허가 및 제한 사항을 관리하는 특정 언어는 라이선스를 참조하세요.