├── ext ├── ext.gradle.kts └── jt │ ├── jt.gradle.kts │ ├── jt-808-server-dashboard-ui │ ├── TODO.md │ ├── src │ │ ├── vite-env.d.ts │ │ ├── pages │ │ │ ├── debug.tsx │ │ │ ├── dump.tsx │ │ │ ├── dashboard.tsx │ │ │ ├── attachment.tsx │ │ │ ├── instruction.tsx │ │ │ └── configuration.tsx │ │ ├── styles │ │ │ └── globals.css │ │ ├── main.tsx │ │ ├── components │ │ │ ├── awesome-bg.tsx │ │ │ ├── dashboard │ │ │ │ ├── count-number.tsx │ │ │ │ └── spolight-card.tsx │ │ │ └── theme-switch.tsx │ │ ├── provider.tsx │ │ ├── routes │ │ │ └── root.tsx │ │ └── layouts │ │ │ └── dashboard.tsx │ ├── .npmrc │ ├── vercel.json │ ├── .env.development │ ├── .env.production │ ├── postcss.config.js │ ├── tsconfig.node.json │ ├── .gitignore │ ├── tailwind.config.js │ ├── tsconfig.json │ └── index.html │ ├── jt-1078-server-dashboard-ui │ ├── .npmrc │ ├── styles │ │ └── globals.css │ ├── postcss.config.js │ ├── public │ │ ├── favicon.ico │ │ └── vercel.svg │ ├── types │ │ └── index.ts │ ├── next.config.js │ ├── app │ │ ├── about │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── blog │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── docs │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── pricing │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── error.tsx │ │ └── providers.tsx │ ├── config │ │ └── fonts.ts │ ├── components │ │ └── counter.tsx │ ├── tailwind.config.js │ ├── .gitignore │ └── tsconfig.json │ ├── jt-808-server-spring-boot-starter-reactive │ └── src │ │ ├── main │ │ ├── resources │ │ │ └── META-INF │ │ │ │ ├── spring │ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ │ └── spring.factories │ │ └── java │ │ │ └── io │ │ │ └── github │ │ │ └── hylexus │ │ │ └── xtream │ │ │ └── codec │ │ │ └── ext │ │ │ └── jt808 │ │ │ ├── extensions │ │ │ ├── package-info.java │ │ │ ├── filter │ │ │ │ └── package-info.java │ │ │ ├── impl │ │ │ │ └── package-info.java │ │ │ ├── handler │ │ │ │ └── package-info.java │ │ │ └── listener │ │ │ │ └── package-info.java │ │ │ ├── spec │ │ │ ├── package-info.java │ │ │ └── impl │ │ │ │ └── package-info.java │ │ │ ├── codec │ │ │ ├── package-info.java │ │ │ └── impl │ │ │ │ └── package-info.java │ │ │ ├── utils │ │ │ └── package-info.java │ │ │ ├── exception │ │ │ └── package-info.java │ │ │ ├── processor │ │ │ └── package-info.java │ │ │ ├── boot │ │ │ ├── actuator │ │ │ │ └── package-info.java │ │ │ ├── condition │ │ │ │ └── package-info.java │ │ │ ├── listener │ │ │ │ └── package-info.java │ │ │ ├── properties │ │ │ │ └── package-info.java │ │ │ └── configuration │ │ │ │ ├── package-info.java │ │ │ │ ├── utils │ │ │ │ └── package-info.java │ │ │ │ └── attachment │ │ │ │ └── package-info.java │ │ │ └── builtin │ │ │ └── messages │ │ │ ├── codec │ │ │ └── package-info.java │ │ │ ├── ext │ │ │ ├── package-info.java │ │ │ └── location │ │ │ │ └── package-info.java │ │ │ ├── jt1078 │ │ │ └── package-info.java │ │ │ ├── request │ │ │ └── package-info.java │ │ │ └── response │ │ │ └── package-info.java │ │ └── test │ │ └── java │ │ └── io │ │ └── github │ │ └── hylexus │ │ └── xtream │ │ └── codec │ │ └── ext │ │ └── jt808 │ │ └── builtin │ │ └── messages │ │ └── mixed │ │ └── package-info.java │ ├── jt-1078-server-spring-boot-starter-reactive │ └── src │ │ ├── main │ │ ├── resources │ │ │ └── META-INF │ │ │ │ ├── spring │ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ │ └── spring.factories │ │ └── java │ │ │ └── io │ │ │ └── github │ │ │ └── hylexus │ │ │ └── xtream │ │ │ └── codec │ │ │ └── ext │ │ │ └── jt1078 │ │ │ ├── codec │ │ │ ├── package-info.java │ │ │ ├── flv │ │ │ │ ├── package-info.java │ │ │ │ ├── tag │ │ │ │ │ └── package-info.java │ │ │ │ └── impl │ │ │ │ │ └── package-info.java │ │ │ ├── audio │ │ │ │ ├── package-info.java │ │ │ │ └── impl │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── aac │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── mp3 │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── adpcm │ │ │ │ │ └── package-info.java │ │ │ │ │ └── g711 │ │ │ │ │ └── package-info.java │ │ │ └── h264 │ │ │ │ └── impl │ │ │ │ └── package-info.java │ │ │ ├── spec │ │ │ ├── package-info.java │ │ │ ├── impl │ │ │ │ └── package-info.java │ │ │ └── resources │ │ │ │ └── package-info.java │ │ │ ├── utils │ │ │ └── package-info.java │ │ │ ├── pubsub │ │ │ ├── package-info.java │ │ │ └── impl │ │ │ │ ├── package-info.java │ │ │ │ └── collector │ │ │ │ └── package-info.java │ │ │ ├── exception │ │ │ └── package-info.java │ │ │ ├── processor │ │ │ └── package-info.java │ │ │ ├── boot │ │ │ ├── listener │ │ │ │ └── package-info.java │ │ │ ├── condition │ │ │ │ └── package-info.java │ │ │ ├── properties │ │ │ │ └── package-info.java │ │ │ └── configuration │ │ │ │ └── package-info.java │ │ │ └── extensions │ │ │ └── handler │ │ │ └── package-info.java │ │ └── test │ │ └── resources │ │ └── mock-data │ │ ├── g711 │ │ ├── lchs-slice.g711a-8k │ │ └── lchs-slice.g711u-8k │ │ └── h264 │ │ └── demo_video_176x144_baseline.h264 │ ├── jt-808-server-dashboard-spring-boot-starter-reactive │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── java │ │ └── io │ │ └── github │ │ └── hylexus │ │ └── xtream │ │ └── codec │ │ └── ext │ │ └── jt808 │ │ └── dashboard │ │ ├── handler │ │ └── package-info.java │ │ ├── service │ │ ├── package-info.java │ │ └── impl │ │ │ └── package-info.java │ │ ├── domain │ │ ├── bo │ │ │ └── package-info.java │ │ ├── vo │ │ │ └── package-info.java │ │ ├── dto │ │ │ └── package-info.java │ │ ├── events │ │ │ └── package-info.java │ │ └── values │ │ │ └── package-info.java │ │ ├── controller │ │ └── package-info.java │ │ └── actuate │ │ ├── mapping │ │ └── package-info.java │ │ └── request │ │ └── package-info.java │ └── jt-1078-server-dashboard-spring-boot-starter-reactive │ ├── src │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── java │ │ └── io │ │ └── github │ │ └── hylexus │ │ └── xtream │ │ └── codec │ │ └── ext │ │ └── jt1078 │ │ └── dashboard │ │ ├── utils │ │ └── package-info.java │ │ ├── service │ │ ├── package-info.java │ │ └── impl │ │ │ └── package-info.java │ │ ├── controller │ │ └── package-info.java │ │ ├── exception │ │ └── package-info.java │ │ └── domain │ │ └── value │ │ └── package-info.java │ └── jt-1078-server-dashboard-spring-boot-starter-reactive.gradle.kts ├── debug ├── debug.gradle.kts ├── jt │ ├── jt.gradle.kts │ ├── jt-1078-server-spring-boot-starter-debug-ui │ │ ├── README.md │ │ ├── src │ │ │ ├── vite-env.d.ts │ │ │ ├── pages │ │ │ │ └── home.vue │ │ │ ├── model │ │ │ │ └── jt808-models.ts │ │ │ ├── main.ts │ │ │ └── router │ │ │ │ └── index.ts │ │ ├── .env.development │ │ ├── .env.production │ │ ├── uno.config.ts │ │ ├── tsconfig.json │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.node.json │ │ ├── package.json │ │ └── tsconfig.app.json │ ├── jt-808-server-spring-boot-starter-debug-ui │ │ ├── README.md │ │ ├── src │ │ │ ├── vite-env.d.ts │ │ │ ├── types │ │ │ │ ├── vite-svg-icons.d.ts │ │ │ │ └── field-component-props.ts │ │ │ ├── pages │ │ │ │ └── home.vue │ │ │ ├── main.ts │ │ │ ├── components │ │ │ │ └── svg │ │ │ │ │ └── SvgIcon.vue │ │ │ ├── utils │ │ │ │ └── storage.ts │ │ │ └── router │ │ │ │ └── index.ts │ │ ├── .env.development │ │ ├── .env.production │ │ ├── uno.config.ts │ │ ├── tsconfig.json │ │ ├── .gitignore │ │ ├── index.html │ │ └── tsconfig.node.json │ ├── jt-1078-server-spring-boot-starter-reactive-debug │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── application.yaml │ └── jt-808-server-spring-boot-starter-reactive-debug │ │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── github │ │ └── hylexus │ │ └── xtream │ │ └── debug │ │ └── ext │ │ └── jt808 │ │ └── handler │ │ └── package-info.java ├── xtream-codec-server-reactive-debug-tcp │ └── xtream-codec-server-reactive-debug-tcp.gradle.kts ├── xtream-codec-server-reactive-debug-udp │ └── xtream-codec-server-reactive-debug-udp.gradle.kts └── xtream-codec-core-debug │ └── xtream-codec-core-debug.gradle.kts ├── quick-start ├── jt │ ├── jt.gradle.kts │ ├── jt-1078-server-quick-start-ui │ │ ├── README.md │ │ ├── src │ │ │ ├── vite-env.d.ts │ │ │ ├── model │ │ │ │ └── jt808-models.ts │ │ │ ├── main.ts │ │ │ ├── pages │ │ │ │ └── home.vue │ │ │ └── router │ │ │ │ └── index.ts │ │ ├── .env.development │ │ ├── .env.production │ │ ├── uno.config.ts │ │ ├── tsconfig.json │ │ ├── .gitignore │ │ ├── index.html │ │ ├── tsconfig.node.json │ │ ├── tsconfig.app.json │ │ └── package.json │ ├── jt-808-server-quick-start-with-storage-ui │ │ ├── src │ │ │ ├── vite-env.d.ts │ │ │ ├── main.ts │ │ │ ├── router │ │ │ │ └── index.ts │ │ │ └── api │ │ │ │ └── terminal-api.ts │ │ ├── .env.development │ │ ├── .env.production │ │ ├── uno.config.ts │ │ ├── tsconfig.json │ │ ├── .gitignore │ │ ├── index.html │ │ ├── README.md │ │ ├── tsconfig.node.json │ │ ├── package.json │ │ ├── tsconfig.app.json │ │ └── vite.config.ts │ ├── jt-1078-server-quick-start-blocking │ │ ├── docker │ │ │ ├── jt-1078-server-quick-start-blocking │ │ │ │ └── .env │ │ │ └── Dockerfile │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── application.yaml │ ├── jt-1078-server-quick-start-nonblocking │ │ ├── docker │ │ │ ├── jt-1078-server-quick-start-nonblocking │ │ │ │ └── .env │ │ │ └── Dockerfile │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── application.yaml │ ├── jt-808-server-quick-start-with-storage-blocking │ │ ├── docker │ │ │ ├── quick-start-3 │ │ │ │ └── .env │ │ │ ├── Dockerfile │ │ │ └── quick-start-2 │ │ │ │ └── quick-start.sh │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── application.yaml │ ├── jt-808-server-quick-start-with-storage-nonblocking │ │ ├── docker │ │ │ ├── quick-start-3 │ │ │ │ └── .env │ │ │ ├── Dockerfile │ │ │ └── quick-start-2 │ │ │ │ └── quick-start.sh │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── application.yaml │ ├── jt-808-server-quick-start-with-dashboard │ │ └── docker │ │ │ └── Dockerfile │ └── jt-808-server-quick-start │ │ └── jt-808-server-quick-start.gradle.kts └── quick-start.gradle.kts ├── docs ├── src │ ├── .vuepress │ │ ├── navbar │ │ │ └── index.ts │ │ ├── sidebar │ │ │ └── index.ts │ │ ├── styles │ │ │ ├── index.scss │ │ │ ├── palette.scss │ │ │ └── config.scss │ │ ├── public │ │ │ ├── th1.jpg │ │ │ ├── logo.png │ │ │ ├── favicon.ico │ │ │ ├── assets │ │ │ │ ├── icon │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── chrome-192.png │ │ │ │ │ ├── chrome-512.png │ │ │ │ │ ├── ms-icon-144.png │ │ │ │ │ ├── apple-icon-152.png │ │ │ │ │ ├── favicon-16x16.ico │ │ │ │ │ ├── chrome-mask-192.png │ │ │ │ │ ├── chrome-mask-512.png │ │ │ │ │ └── android-chrome-512x512.png │ │ │ │ └── fa-icon.css │ │ │ ├── webfonts │ │ │ │ ├── free-fa-solid-900.woff2 │ │ │ │ ├── free-fa-brands-400.woff2 │ │ │ │ └── free-fa-regular-400.woff2 │ │ │ └── img │ │ │ │ ├── core │ │ │ │ └── annotation │ │ │ │ │ ├── jt-808-0200-1.png │ │ │ │ │ ├── jt-808-0200-2.png │ │ │ │ │ ├── jt-808-0200-3.png │ │ │ │ │ └── jt-808-data-types.png │ │ │ │ ├── ext │ │ │ │ └── jt │ │ │ │ │ └── jt808 │ │ │ │ │ ├── extension │ │ │ │ │ └── subiao.png │ │ │ │ │ ├── dashboard │ │ │ │ │ ├── overview-session.png │ │ │ │ │ ├── overview-dashboard.png │ │ │ │ │ └── overview-data-link.png │ │ │ │ │ ├── customization │ │ │ │ │ └── netty-customizer.png │ │ │ │ │ └── quick-start │ │ │ │ │ ├── quick-start-app-0200-log.png │ │ │ │ │ ├── quick-start-app-startup.png │ │ │ │ │ └── quick-start-app-network-cat-0200.png │ │ │ │ ├── faq │ │ │ │ ├── code-analysis │ │ │ │ │ └── field-codec.png │ │ │ │ └── building-from-source │ │ │ │ │ ├── idea-0.png │ │ │ │ │ ├── idea-1.png │ │ │ │ │ ├── idea-2.png │ │ │ │ │ ├── idea-3.png │ │ │ │ │ └── command-line-gradle-build.png │ │ │ │ ├── common │ │ │ │ └── utilities │ │ │ │ │ └── bit-operator-case-01.png │ │ │ │ └── server │ │ │ │ ├── core-component │ │ │ │ └── ordered-components.png │ │ │ │ ├── request-processing │ │ │ │ ├── request-flow-0.png │ │ │ │ ├── request-flow-1.png │ │ │ │ ├── dispatcher-handler.png │ │ │ │ ├── request-processing.png │ │ │ │ ├── filtering-xtream-handler.png │ │ │ │ ├── reactor-netty-consuming-data.png │ │ │ │ └── exception-handling-xtream-handler.png │ │ │ │ └── annotation-driven │ │ │ │ └── handler-method-argument-resolver.png │ │ ├── client.ts │ │ └── components │ │ │ ├── styles │ │ │ └── repo-link.css │ │ │ └── RepoGitee.js │ ├── guide │ │ ├── core │ │ │ ├── samples │ │ │ │ ├── README.md │ │ │ │ ├── custom-protocol-sample-01 │ │ │ │ │ └── README.md │ │ │ │ └── custom-protocol-sample-02 │ │ │ │ │ └── README.md │ │ │ ├── README.md │ │ │ ├── annotation-driven │ │ │ │ ├── README.md │ │ │ │ ├── annex │ │ │ │ │ └── README.md │ │ │ │ └── entity-codec.md │ │ │ ├── quick-start │ │ │ │ ├── intro.md │ │ │ │ ├── README.md │ │ │ │ ├── building-from-source.md │ │ │ │ └── code-analysis.md │ │ │ └── core-component │ │ │ │ ├── field-codec.md │ │ │ │ └── entity-codec.md │ │ ├── server │ │ │ ├── quick-start │ │ │ │ ├── intro.md │ │ │ │ ├── README.md │ │ │ │ ├── building-from-source.md │ │ │ │ └── code-analysis.md │ │ │ ├── annotation-driven │ │ │ │ └── README.md │ │ │ ├── core-component │ │ │ │ └── README.md │ │ │ ├── request-processing │ │ │ │ ├── intro.md │ │ │ │ └── README.md │ │ │ └── README.md │ │ └── README.md │ ├── ext │ │ ├── jt │ │ │ ├── jt808 │ │ │ │ ├── quick-start │ │ │ │ │ ├── README.md │ │ │ │ │ ├── building-from-source.md │ │ │ │ │ └── code-analysis.md │ │ │ │ ├── annotation-driven │ │ │ │ │ ├── README.md │ │ │ │ │ └── builtin-message.md │ │ │ │ ├── utilities │ │ │ │ │ └── README.md │ │ │ │ ├── customization │ │ │ │ │ ├── request-handler.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── argument-resolver.md │ │ │ │ │ └── netty.md │ │ │ │ ├── configuration │ │ │ │ │ └── README.md │ │ │ │ ├── complex-message-mapping │ │ │ │ │ ├── README.md │ │ │ │ │ ├── sample-0x0704.md │ │ │ │ │ ├── sample-0x0608.md │ │ │ │ │ ├── sample-0x0802.md │ │ │ │ │ ├── sample-0x8105.md │ │ │ │ │ ├── sample-0x8500.md │ │ │ │ │ ├── sample-0x8600.md │ │ │ │ │ ├── sample-0x8602.md │ │ │ │ │ ├── sample-0x8606.md │ │ │ │ │ └── sample-0x8604.md │ │ │ │ ├── extension │ │ │ │ │ └── README.md │ │ │ │ ├── dashboard │ │ │ │ │ ├── README.md │ │ │ │ │ └── intro.md │ │ │ │ └── README.md │ │ │ └── README.md │ │ └── README.md │ ├── README.md │ ├── frequently-asked-questions │ │ ├── README.md │ │ └── differences-between-xtream-codec-and-jt-framework.md │ ├── about.md │ └── release-notes │ │ └── latest.md ├── .npmrc ├── deploy.sh └── package.json ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea └── dictionaries │ └── xtream.xml ├── xtream-codec-server-reactive ├── xtream-codec-server-reactive.gradle.kts └── src │ └── main │ └── java │ └── io │ └── github │ └── hylexus │ └── xtream │ └── codec │ └── server │ └── reactive │ └── spec │ ├── package-info.java │ ├── TcpXtreamFilter.java │ ├── UdpXtreamFilter.java │ ├── impl │ ├── package-info.java │ ├── tcp │ │ └── package-info.java │ └── udp │ │ └── package-info.java │ ├── common │ └── package-info.java │ ├── resources │ └── package-info.java │ ├── event │ └── builtin │ │ ├── package-info.java │ │ └── disruptor │ │ └── package-info.java │ └── XtreamResponse.java ├── xtream-codec-core ├── xtream-codec-core.gradle.kts └── src │ └── main │ └── java │ └── io │ └── github │ └── hylexus │ └── xtream │ └── codec │ ├── core │ ├── utils │ │ └── package-info.java │ ├── impl │ │ ├── package-info.java │ │ └── codec │ │ │ ├── package-info.java │ │ │ └── map │ │ │ └── package-info.java │ ├── type │ │ └── simple │ │ │ └── package-info.java │ ├── annotation │ │ └── PaddingType.java │ └── BeanMetadataRegistryAware.java │ └── common │ ├── utils │ └── package-info.java │ └── bean │ ├── package-info.java │ └── impl │ └── package-info.java └── xtream-codec-base └── src └── main └── java └── io └── github └── hylexus └── xtream └── codec └── base ├── utils └── package-info.java ├── expression ├── package-info.java └── CustomXtreamExpressionEngine.java └── web └── exception └── package-info.java /ext/ext.gradle.kts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debug/debug.gradle.kts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debug/jt/jt.gradle.kts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ext/jt/jt.gradle.kts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quick-start/jt/jt.gradle.kts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quick-start/quick-start.gradle.kts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/src/.vuepress/navbar/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./zh.js"; 2 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/TODO.md: -------------------------------------------------------------------------------- 1 | - sponsor 功能及展示 2 | -------------------------------------------------------------------------------- /docs/src/.vuepress/sidebar/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./zh.js"; 2 | -------------------------------------------------------------------------------- /docs/src/.vuepress/styles/index.scss: -------------------------------------------------------------------------------- 1 | // place your custom styles here 2 | -------------------------------------------------------------------------------- /docs/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmmirror.com 2 | engine-strict=true 3 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/README.md: -------------------------------------------------------------------------------- 1 | # jt-1078-server-quick-start-ui 2 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/.npmrc: -------------------------------------------------------------------------------- 1 | public-hoist-pattern[]=*@heroui/* 2 | package-lock=true -------------------------------------------------------------------------------- /docs/src/guide/core/samples/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: server 3 | article: false 4 | --- 5 | 6 | # 示例 7 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/README.md: -------------------------------------------------------------------------------- 1 | # jt-1078-server-spring-boot-starter-debug-ui 2 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/README.md: -------------------------------------------------------------------------------- 1 | # jt-808-server-spring-boot-starter-debug-ui 2 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/quick-start/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: rocket 3 | article: false 4 | --- 5 | 6 | # 入门 7 | -------------------------------------------------------------------------------- /docs/src/guide/server/quick-start/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: circle-info 3 | article: false 4 | --- 5 | 6 | # 介绍 7 | -------------------------------------------------------------------------------- /docs/src/ext/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: ethernet 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # 内置扩展 9 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/annotation-driven/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: at 3 | article: false 4 | --- 5 | 6 | # 注解驱动开发 7 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/utilities/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: wrench 3 | article: false 4 | --- 5 | 6 | # 辅助工具 7 | 8 | -------------------------------------------------------------------------------- /docs/src/guide/server/annotation-driven/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: at 3 | article: false 4 | --- 5 | 6 | # 注解驱动开发 7 | -------------------------------------------------------------------------------- /docs/src/guide/server/quick-start/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: circle-info 3 | article: false 4 | --- 5 | 6 | # 入门 7 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/styles/globals.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | 3 | @config "../tailwind.config.js" -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/th1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/th1.jpg -------------------------------------------------------------------------------- /docs/src/ext/jt/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: earth-asia 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # 部标 9 | -------------------------------------------------------------------------------- /docs/src/guide/server/core-component/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: layer-group 3 | article: false 4 | --- 5 | 6 | # 核心组件 7 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/.npmrc: -------------------------------------------------------------------------------- 1 | public-hoist-pattern[]=*@heroui/* 2 | registry=https://registry.npmmirror.com 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /docs/src/.vuepress/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/logo.png -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/customization/request-handler.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: shapes 3 | article: false 4 | --- 5 | 6 | # 自定义请求处理器 7 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/pages/debug.tsx: -------------------------------------------------------------------------------- 1 | export const DebugPage = () => { 2 | return
Debug
; 3 | }; 4 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/.env.development: -------------------------------------------------------------------------------- 1 | VITE_API_DASHBOARD_V1 = "/" 2 | VITE_BASE_API_TIMEOUT = 30000: 3 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/.env.production: -------------------------------------------------------------------------------- 1 | VITE_API_DASHBOARD_V1 = / 2 | VITE_BASE_API_TIMEOUT = 30000: 3 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/favicon.ico -------------------------------------------------------------------------------- /docs/src/guide/core/samples/custom-protocol-sample-01/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: server 3 | article: false 4 | --- 5 | 6 | # 示例1 7 | -------------------------------------------------------------------------------- /docs/src/guide/core/samples/custom-protocol-sample-02/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: server 3 | article: false 4 | --- 5 | 6 | # 示例2 7 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "rewrites": [ 3 | { "source": "/(.*)", "destination": "/" } 4 | ] 5 | } -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/configuration/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: gears 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # 配置 9 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/customization/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: gear 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # 定制化 9 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/.env.development: -------------------------------------------------------------------------------- 1 | VITE_API_DASHBOARD_V1 = /dashboard-api/jt808/ 2 | VITE_BASE_API_TIMEOUT = 1000: 3 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/.env.production: -------------------------------------------------------------------------------- 1 | VITE_API_DASHBOARD_V1 = /dashboard-api/jt808/v1/ 2 | VITE_BASE_API_TIMEOUT = 1000: 3 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/customization/argument-resolver.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: fa-brands fa-resolving 3 | article: false 4 | --- 5 | 6 | # 参数解析器 7 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | "@tailwindcss/postcss": {}, 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/complex-message-mapping/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: at 3 | article: false 4 | --- 5 | 6 | # 复杂消息解析示例 7 | 8 | todo 补充复杂消息的注解映射示例 9 | -------------------------------------------------------------------------------- /docs/src/guide/core/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: book 3 | article: false 4 | --- 5 | 6 | # codec-core 7 | 8 | `xtream-codec` 是一个不依赖于特定协议的 **私有协议** 解析工具。 9 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/favicon.ico -------------------------------------------------------------------------------- /docs/src/.vuepress/styles/palette.scss: -------------------------------------------------------------------------------- 1 | // you can change colors here 2 | $theme-color: #096dd9; 3 | //$sidebar-width: 20rem; 4 | $sidebar-width: 330px; 5 | -------------------------------------------------------------------------------- /docs/src/guide/core/annotation-driven/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: at 3 | article: false 4 | tag: 5 | - 内置 6 | - 注解 7 | --- 8 | 9 | # 注解驱动开发 10 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/chrome-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/chrome-192.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/chrome-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/chrome-512.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/ms-icon-144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/ms-icon-144.png -------------------------------------------------------------------------------- /docs/src/guide/core/quick-start/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: circle-info 3 | article: false 4 | --- 5 | 6 | # 介绍 7 | 8 | `xtream-codec` 是一个不依赖于特定协议的 **私有协议** 解析工具。 9 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/ext/jt/jt-1078-server-dashboard-ui/public/favicon.ico -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/apple-icon-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/apple-icon-152.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/favicon-16x16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/favicon-16x16.ico -------------------------------------------------------------------------------- /docs/src/guide/core/quick-start/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: circle-info 3 | article: false 4 | --- 5 | 6 | # 入门 7 | 8 | `xtream-codec` 是一个不依赖于特定协议的 **私有协议** 解析工具。 9 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/chrome-mask-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/chrome-mask-192.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/chrome-mask-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/chrome-mask-512.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/webfonts/free-fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/webfonts/free-fa-solid-900.woff2 -------------------------------------------------------------------------------- /docs/src/.vuepress/public/webfonts/free-fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/webfonts/free-fa-brands-400.woff2 -------------------------------------------------------------------------------- /docs/src/.vuepress/public/webfonts/free-fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/webfonts/free-fa-regular-400.woff2 -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/core/annotation/jt-808-0200-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/core/annotation/jt-808-0200-1.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/core/annotation/jt-808-0200-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/core/annotation/jt-808-0200-2.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/core/annotation/jt-808-0200-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/core/annotation/jt-808-0200-3.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/extension/subiao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/extension/subiao.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/faq/code-analysis/field-codec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/faq/code-analysis/field-codec.png -------------------------------------------------------------------------------- /docs/src/.vuepress/styles/config.scss: -------------------------------------------------------------------------------- 1 | // you can change config here 2 | $colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50, 3 | #7f8c8d !default; 4 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/extension/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: file-lines 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # 地方标准 9 | 10 | **Xtream** 内置了对苏标的支持。 11 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/types/index.ts: -------------------------------------------------------------------------------- 1 | import { SVGProps } from "react"; 2 | 3 | export type IconSvgProps = SVGProps & { 4 | size?: number; 5 | }; 6 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/icon/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/assets/icon/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/faq/building-from-source/idea-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/faq/building-from-source/idea-0.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/faq/building-from-source/idea-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/faq/building-from-source/idea-1.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/faq/building-from-source/idea-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/faq/building-from-source/idea-2.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/faq/building-from-source/idea-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/faq/building-from-source/idea-3.png -------------------------------------------------------------------------------- /docs/src/guide/core/annotation-driven/annex/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: circle-info 3 | article: false 4 | --- 5 | 6 | # 说明 7 | 8 | ## 说明 9 | 10 | 这个章节会介绍一些特殊的、前面章节没有提到的注解特性。 11 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/core/annotation/jt-808-data-types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/core/annotation/jt-808-data-types.png -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | output: 'export', 4 | }; 5 | 6 | module.exports = nextConfig; 7 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/pages/dump.tsx: -------------------------------------------------------------------------------- 1 | import { DumpGroup } from "@/components/dump/group.tsx"; 2 | 3 | export const DumpPage = () => { 4 | return ; 5 | }; 6 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/common/utilities/bit-operator-case-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/common/utilities/bit-operator-case-01.png -------------------------------------------------------------------------------- /docs/src/guide/core/core-component/field-codec.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: change 4 | tag: 5 | - 编码 6 | - 解码 7 | --- 8 | 9 | # FieldCodec 10 | 11 | todo 后面补齐: ... 12 | 13 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/uno.config.ts: -------------------------------------------------------------------------------- 1 | // uno.config.ts 2 | import { defineConfig } from 'unocss' 3 | 4 | export default defineConfig({ 5 | // ...UnoCSS options 6 | }) 7 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/.env.development: -------------------------------------------------------------------------------- 1 | #VITE_API_DASHBOARD_V1 = /api/jt-808-quick-start-with-storage/ 2 | VITE_API_DASHBOARD_V1 = "" 3 | VITE_BASE_API_TIMEOUT = 1000: 4 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/.env.production: -------------------------------------------------------------------------------- 1 | #VITE_API_DASHBOARD_V1 = /api/jt-808-quick-start-with-storage/ 2 | VITE_API_DASHBOARD_V1 = "" 3 | VITE_BASE_API_TIMEOUT = 1000: 4 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/uno.config.ts: -------------------------------------------------------------------------------- 1 | // uno.config.ts 2 | import { defineConfig } from 'unocss' 3 | 4 | export default defineConfig({ 5 | // ...UnoCSS options 6 | }) 7 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/.env.development: -------------------------------------------------------------------------------- 1 | #VITE_API_DASHBOARD_V1 = /api/jt-808-quick-start-with-storage/ 2 | VITE_API_DASHBOARD_V1 = "" 3 | VITE_BASE_API_TIMEOUT = 1000: 4 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/.env.production: -------------------------------------------------------------------------------- 1 | #VITE_API_DASHBOARD_V1 = /api/jt-808-quick-start-with-storage/ 2 | VITE_API_DASHBOARD_V1 = "" 3 | VITE_BASE_API_TIMEOUT = 1000: 4 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/uno.config.ts: -------------------------------------------------------------------------------- 1 | // uno.config.ts 2 | import { defineConfig } from 'unocss' 3 | 4 | export default defineConfig({ 5 | // ...UnoCSS options 6 | }) 7 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/dashboard/overview-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/dashboard/overview-session.png -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/pages/dashboard.tsx: -------------------------------------------------------------------------------- 1 | import { CardBox } from "@/components/dashboard/card-box.tsx"; 2 | 3 | export const DashboardPage = () => { 4 | return ; 5 | }; 6 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/dashboard/overview-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/dashboard/overview-dashboard.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/dashboard/overview-data-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/dashboard/overview-data-link.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/core-component/ordered-components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/core-component/ordered-components.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/request-flow-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/request-flow-0.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/request-flow-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/request-flow-1.png -------------------------------------------------------------------------------- /docs/src/guide/core/core-component/entity-codec.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: change 4 | tag: 5 | - 编码 6 | - 解码 7 | --- 8 | 9 | # EntityCodec 10 | 11 | todo 后面补齐: ... 12 | 13 | 14 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/.env.development: -------------------------------------------------------------------------------- 1 | #VITE_API_DASHBOARD_V1 = /api/jt-808-quick-start-with-storage/ 2 | VITE_API_DASHBOARD_V1 = "" 3 | VITE_BASE_API_TIMEOUT = 1000: 4 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/.env.production: -------------------------------------------------------------------------------- 1 | #VITE_API_DASHBOARD_V1 = /api/jt-808-quick-start-with-storage/ 2 | VITE_API_DASHBOARD_V1 = "" 3 | VITE_BASE_API_TIMEOUT = 1000: 4 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/uno.config.ts: -------------------------------------------------------------------------------- 1 | // uno.config.ts 2 | import { defineConfig } from 'unocss' 3 | 4 | export default defineConfig({ 5 | // ...UnoCSS options 6 | }) 7 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/customization/netty-customizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/customization/netty-customizer.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/dispatcher-handler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/dispatcher-handler.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/request-processing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/request-processing.png -------------------------------------------------------------------------------- /.idea/dictionaries/xtream.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Xtream 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/src/guide/server/request-processing/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: arrow-right-arrow-left 3 | article: false 4 | --- 5 | 6 | # 整体流程 7 | 8 | ![](/img/server/request-processing/request-processing.png) 9 | 10 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/quick-start/quick-start-app-0200-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/quick-start/quick-start-app-0200-log.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/quick-start/quick-start-app-startup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/quick-start/quick-start-app-startup.png -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/dashboard/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: gauge 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # Dashboard 9 | 10 | ::: tip 11 | 12 | 如果你不需要该组件,可以跳过本节。 13 | 14 | ::: 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/faq/building-from-source/command-line-gradle-build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/faq/building-from-source/command-line-gradle-build.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/filtering-xtream-handler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/filtering-xtream-handler.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/reactor-netty-consuming-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/reactor-netty-consuming-data.png -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/pages/attachment.tsx: -------------------------------------------------------------------------------- 1 | import { SessionTable } from "@/components/sessions/table.tsx"; 2 | 3 | export const AttachmentPage = () => { 4 | return ; 5 | }; 6 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/pages/instruction.tsx: -------------------------------------------------------------------------------- 1 | import { SessionTable } from "@/components/sessions/table.tsx"; 2 | 3 | export const InstructionPage = () => { 4 | return ; 5 | }; 6 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/types/vite-svg-icons.d.ts: -------------------------------------------------------------------------------- 1 | // declare module 'virtual:svg-icons-register' { 2 | // export default function(): void; 3 | // } 4 | declare module 'virtual:svg-icons-register'; 5 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/ext/jt/jt808/quick-start/quick-start-app-network-cat-0200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/ext/jt/jt808/quick-start/quick-start-app-network-cat-0200.png -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/annotation-driven/handler-method-argument-resolver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/annotation-driven/handler-method-argument-resolver.png -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/src/pages/home.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/pages/home.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /debug/xtream-codec-server-reactive-debug-tcp/xtream-codec-server-reactive-debug-tcp.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | api(project(":xtream-codec-server-reactive")) 3 | api("org.springframework.boot:spring-boot-starter-logging") 4 | } 5 | -------------------------------------------------------------------------------- /debug/xtream-codec-server-reactive-debug-udp/xtream-codec-server-reactive-debug-udp.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | api(project(":xtream-codec-server-reactive")) 3 | api("org.springframework.boot:spring-boot-starter-logging") 4 | } 5 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/img/server/request-processing/exception-handling-xtream-handler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/docs/src/.vuepress/public/img/server/request-processing/exception-handling-xtream-handler.png -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/types/field-component-props.ts: -------------------------------------------------------------------------------- 1 | // import {DataField} from "./data-fields.ts"; 2 | // 3 | // export interface FieldComponentProps { 4 | // modelValue: T; 5 | // } 6 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/quick-start/building-from-source.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: code 3 | article: false 4 | --- 5 | 6 | # 编译源码 7 | 8 | ::: info 提示 9 | 10 | 参考 [FAQ - 编译源码](/frequently-asked-questions/building-from-source.md) 11 | 12 | ::: 13 | -------------------------------------------------------------------------------- /docs/src/guide/core/quick-start/building-from-source.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: code 3 | article: false 4 | --- 5 | 6 | # 编译源码 7 | 8 | ::: info 提示 9 | 10 | 参考 [FAQ - 编译源码](/frequently-asked-questions/building-from-source.md) 11 | 12 | ::: 13 | -------------------------------------------------------------------------------- /docs/src/guide/server/quick-start/building-from-source.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: code 3 | article: false 4 | --- 5 | 6 | # 编译源码 7 | 8 | ::: info 提示 9 | 10 | 参考 [FAQ - 编译源码](/frequently-asked-questions/building-from-source.md) 11 | 12 | ::: 13 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | io.github.hylexus.xtream.codec.ext.jt808.boot.configuration.XtreamExtJt808ServerAutoConfiguration 2 | -------------------------------------------------------------------------------- /docs/src/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | home: true 3 | layout: Blog 4 | icon: home 5 | title: xtream-codec 6 | heroImage: /logo.png 7 | bgImage: /th1.jpg 8 | heroText: xtream-codec 9 | heroFullScreen: true 10 | tagline: 基于 ReactorNetty 的私有协议编解码库 11 | --- 12 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | io.github.hylexus.xtream.codec.ext.jt1078.boot.configuration.XtreamExtJt1078ServerAutoConfiguration 2 | -------------------------------------------------------------------------------- /docs/src/guide/core/quick-start/code-analysis.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: book 3 | article: false 4 | --- 5 | 6 | # 源码阅读建议 7 | 8 | ::: info 提示 9 | 10 | 参考 [FAQ - 源码阅读建议 - codec-core](/frequently-asked-questions/code-analysis.md#codec-core) 11 | 12 | ::: 13 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | io.github.hylexus.xtream.codec.ext.jt808.processor.BuiltinJt808ServerDefaultEnvironmentPostProcessor 3 | -------------------------------------------------------------------------------- /debug/xtream-codec-core-debug/xtream-codec-core-debug.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | 3 | api(project(":xtream-codec-core")) 4 | api("org.springframework.boot:spring-boot-starter-logging") 5 | api("com.github.ben-manes.caffeine:caffeine") 6 | 7 | } 8 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/about/page.tsx: -------------------------------------------------------------------------------- 1 | import { title } from "@/components/primitives"; 2 | 3 | export default function AboutPage() { 4 | return ( 5 |
6 |

About

7 |
8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/blog/page.tsx: -------------------------------------------------------------------------------- 1 | import { title } from "@/components/primitives"; 2 | 3 | export default function BlogPage() { 4 | return ( 5 |
6 |

Blog

7 |
8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/docs/page.tsx: -------------------------------------------------------------------------------- 1 | import { title } from "@/components/primitives"; 2 | 3 | export default function DocsPage() { 4 | return ( 5 |
6 |

Docs

7 |
8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | io.github.hylexus.xtream.codec.ext.jt1078.processor.BuiltinJt1078ServerDefaultEnvironmentPostProcessor 3 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/test/resources/mock-data/g711/lchs-slice.g711a-8k: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/ext/jt/jt-1078-server-spring-boot-starter-reactive/src/test/resources/mock-data/g711/lchs-slice.g711a-8k -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/test/resources/mock-data/g711/lchs-slice.g711u-8k: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/ext/jt/jt-1078-server-spring-boot-starter-reactive/src/test/resources/mock-data/g711/lchs-slice.g711u-8k -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/quick-start/code-analysis.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: book 3 | article: false 4 | --- 5 | 6 | # 源码阅读建议 7 | 8 | ::: info 提示 9 | 10 | 参考 [FAQ - 源码阅读建议 - jt-808-server扩展](/frequently-asked-questions/code-analysis.md#jt-808-server扩展) 11 | 12 | ::: 13 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/pricing/page.tsx: -------------------------------------------------------------------------------- 1 | import { title } from "@/components/primitives"; 2 | 3 | export default function PricingPage() { 4 | return ( 5 |
6 |

Pricing

7 |
8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | io.github.hylexus.xtream.codec.ext.jt808.dashboard.boot.configuration.XtreamExtJt808ServerAutoConfiguration 2 | -------------------------------------------------------------------------------- /docs/src/.vuepress/client.ts: -------------------------------------------------------------------------------- 1 | import { defineClientConfig } from 'vuepress/client' 2 | import RepoGitee from './components/RepoGitee' 3 | 4 | export default defineClientConfig({ 5 | enhance({ app }) { 6 | app.component('RepoGitee', RepoGitee) 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | io.github.hylexus.xtream.codec.ext.jt1078.dashboard.boot.configuration.XtreamExtJt1078ServerAutoConfiguration 2 | -------------------------------------------------------------------------------- /docs/src/guide/server/quick-start/code-analysis.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: book 3 | article: false 4 | --- 5 | 6 | # 源码阅读建议 7 | 8 | ::: info 提示 9 | 10 | 参考 [FAQ - 源码阅读建议 - codec-server-reactive](/frequently-asked-questions/code-analysis.md#codec-server-reactive) 11 | 12 | ::: 13 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/test/resources/mock-data/h264/demo_video_176x144_baseline.h264: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hylexus/xtream-codec/HEAD/ext/jt/jt-1078-server-spring-boot-starter-reactive/src/test/resources/mock-data/h264/demo_video_176x144_baseline.h264 -------------------------------------------------------------------------------- /docs/src/frequently-asked-questions/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: circle-question 4 | --- 5 | 6 | # FAQ 7 | 8 | - [项目定位](./project-positioning.md) 9 | - [和jt-framework有什么区别?](./differences-between-xtream-codec-and-jt-framework.md) 10 | - [编译源码](./building-from-source.md) 11 | - [源码阅读建议](./code-analysis.md) 12 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true, 8 | "strict": true 9 | }, 10 | "include": ["vite.config.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | 4 | import App from "./App.tsx"; 5 | import "@/styles/globals.css"; 6 | 7 | ReactDOM.createRoot(document.getElementById("root")!).render( 8 | 9 | 10 | , 11 | ); 12 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-blocking/docker/jt-1078-server-quick-start-blocking/.env: -------------------------------------------------------------------------------- 1 | # Volume 在宿主机上的映射路径 2 | DATA_BASE_PATH=/tmp/docker-compose-data/jt-1078-server-quick-start-nonblocking 3 | # 启动哪些服务? 4 | # @see https://docs.docker.com/compose/how-tos/profiles/#start-specific-profiles 5 | COMPOSE_PROFILES='jt808_server,jt1078_server' 6 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/config/fonts.ts: -------------------------------------------------------------------------------- 1 | import { Fira_Code as FontMono, Inter as FontSans } from "next/font/google"; 2 | 3 | export const fontSans = FontSans({ 4 | subsets: ["latin"], 5 | variable: "--font-sans", 6 | }); 7 | 8 | export const fontMono = FontMono({ 9 | subsets: ["latin"], 10 | variable: "--font-mono", 11 | }); 12 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-nonblocking/docker/jt-1078-server-quick-start-nonblocking/.env: -------------------------------------------------------------------------------- 1 | # Volume 在宿主机上的映射路径 2 | DATA_BASE_PATH=/tmp/docker-compose-data/jt-1078-server-quick-start-nonblocking 3 | # 启动哪些服务? 4 | # @see https://docs.docker.com/compose/how-tos/profiles/#start-specific-profiles 5 | COMPOSE_PROFILES='jt808_server,jt1078_server' 6 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "@/*": [ 6 | "src/*" 7 | ] 8 | } 9 | }, 10 | "files": [], 11 | "references": [ 12 | { 13 | "path": "./tsconfig.app.json" 14 | }, 15 | { 16 | "path": "./tsconfig.node.json" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /docs/src/.vuepress/components/styles/repo-link.css: -------------------------------------------------------------------------------- 1 | .vp-navbar .vp-repo { 2 | margin: 0 !important; 3 | } 4 | .vp-navbar .vp-repo-link { 5 | display: inline-block; 6 | margin: auto; 7 | padding: 6px; 8 | color: var(--dark-grey); 9 | line-height: 1; 10 | } 11 | .vp-navbar .vp-repo-link :hover,.vp-navbar .vp-repo-link :active { 12 | color: var(--theme-color); 13 | } 14 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | #distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-all.zip 4 | distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-9.2.1-all.zip 5 | networkTimeout=180000 6 | validateDistributionUrl=true 7 | zipStoreBase=GRADLE_USER_HOME 8 | zipStorePath=wrapper/dists 9 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | icon: location-dot 4 | tag: 5 | - JT/T 808 6 | --- 7 | 8 | # 部标808 9 | 10 | ```component VPBanner 11 | title: JT/T 808 支持 12 | content: 本项目基于 xtream-codec-server-reactive 提供了对 JT/T 808 协议的支持。 13 | background: var(--bg-10) 14 | color: var(--banner-text) 15 | actions: 16 | - text: 协议介绍 17 | link: ./quick-start/intro.html 18 | ``` 19 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/components/counter.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useState } from "react"; 4 | import { Button } from "@heroui/button"; 5 | 6 | export const Counter = () => { 7 | const [count, setCount] = useState(0); 8 | 9 | return ( 10 | 13 | ); 14 | }; 15 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-blocking/docker/quick-start-3/.env: -------------------------------------------------------------------------------- 1 | # Volume 在宿主机上的映射路径 2 | DATA_BASE_PATH=/tmp/docker-compose-data/jt-808-server-quick-start-with-storage-blocking 3 | # 启动哪些服务? 4 | # @see https://docs.docker.com/compose/how-tos/profiles/#start-specific-profiles 5 | COMPOSE_PROFILES='clickhouse,mysql,postgres,minio,app' 6 | #COMPOSE_PROFILES='clickhouse,mysql,postgres,minio' 7 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-nonblocking/docker/quick-start-3/.env: -------------------------------------------------------------------------------- 1 | # Volume 在宿主机上的映射路径 2 | DATA_BASE_PATH=/tmp/docker-compose-data/jt-808-server-quick-start-with-storage-nonblocking 3 | # 启动哪些服务? 4 | # @see https://docs.docker.com/compose/how-tos/profiles/#start-specific-profiles 5 | COMPOSE_PROFILES='clickhouse,mysql,postgres,minio,app' 6 | #COMPOSE_PROFILES='clickhouse,mysql,postgres,minio' 7 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/about/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function AboutLayout({ 2 | children, 3 | }: { 4 | children: React.ReactNode; 5 | }) { 6 | return ( 7 |
8 |
9 | {children} 10 |
11 |
12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/blog/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function BlogLayout({ 2 | children, 3 | }: { 4 | children: React.ReactNode; 5 | }) { 6 | return ( 7 |
8 |
9 | {children} 10 |
11 |
12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/docs/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function DocsLayout({ 2 | children, 3 | }: { 4 | children: React.ReactNode; 5 | }) { 6 | return ( 7 |
8 |
9 | {children} 10 |
11 |
12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | stats.html 26 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/pricing/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function PricingLayout({ 2 | children, 3 | }: { 4 | children: React.ReactNode; 5 | }) { 6 | return ( 7 |
8 |
9 | {children} 10 |
11 |
12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /docs/src/guide/server/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: circle-info 3 | article: false 4 | --- 5 | 6 | # codec-server-reactive 7 | 8 | `xtream-codec-server-reactive` 是一个基于 [projectreactor](https://projectreactor.io/) 的、和具体协议无关的、异步的、非阻塞的、TCP/UDP 服务端实现。 9 | 10 | 同时提供了一个基于 [xtream-codec-server-reactive](xtream-codec-server-reactive) 的 [JT/T 808 协议](ext/jt/jt-808-server-spring-boot-starter-reactive) 服务端实现。 11 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .vite 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/components/awesome-bg.tsx: -------------------------------------------------------------------------------- 1 | export const AwesomeBg = () => { 2 | return ( 3 | <> 4 |
5 |
6 | 7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /docs/src/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | article: false 3 | --- 4 | 5 | # 关于我们 6 | 7 | ## 联系我们 8 | 9 | - **GitHub** 提交 **Issue**(推荐) 10 | - 请尽可能地描述清楚自己的问题 11 | - 异常信息最好有完整的堆栈记录,以及使用的版本 12 | 13 | ## 赞助 14 | 15 | ```component VPBanner 16 | title: STAR 17 | content: 你的 star 也是我们前进的动力。 18 | background: var(--bg-10) 19 | color: var(--banner-text) 20 | ``` 21 | 22 | 项目的发展离不开你的支持,请作者喝一杯🍺吧! 23 | 24 | ![有钱的捧个钱场 没钱的捧个人场](https://img.iotplanet.top/img/pay.png) 25 | -------------------------------------------------------------------------------- /docs/src/guide/server/request-processing/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: microchip 3 | article: false 4 | --- 5 | 6 | # 内置请求处理流程 7 | 8 | - [整体流程](./intro.md) 9 | - [DispatcherXtreamHandler](./dispatcher-handler.md) 10 | - [XtreamFilter](./filter.md) 11 | - [FilteringXtreamHandler](./filtering-xtream-handler.md) 12 | - [XtreamRequestExceptionHandler](./request-exception-handler.md) 13 | - [XtreamRequestExceptionHandler](./exception-handling-xtream-handler.md) 14 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/provider.tsx: -------------------------------------------------------------------------------- 1 | import { HeroUIProvider } from "@heroui/system"; 2 | import { ReactNode } from "react"; 3 | import { useNavigate, useHref } from "react-router-dom"; 4 | 5 | export function Provider({ children }: { children: ReactNode }) { 6 | const navigate = useNavigate(); 7 | 8 | return ( 9 | 10 | {children} 11 | 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/annotation-driven/builtin-message.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: bell 3 | article: false 4 | --- 5 | 6 | # 内置消息说明 7 | 8 | `jt-808-server-spring-boot-starter-reactive` 中内置了一些 **JT/T 808** 消息的实体类。 9 | 10 | 这些内置消息都在 `io.github.hylexus.xtream.codec.ext.jt808.builtin.messages` 包下。 11 | 12 | ::: danger 13 | 14 | 不建议你直接使用这些内置实体类。你应该复制一份到你项目里。 15 | 16 | 为什么? 17 | 18 | - 这些内置实体类仅仅起个示例的作用 19 | - 字段命名不怎么规范,不同版本可能会有差异 20 | - 不同版本中,内置消息的数据类型也可能会调整 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /docs/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | XTREAM_DOCS_ROOT_DIR=$(cd "$(dirname "$0")"; pwd) 6 | echo "XTREAM_DOCS_ROOT_DIR : ${XTREAM_DOCS_ROOT_DIR}" 7 | 8 | cd ${XTREAM_DOCS_ROOT_DIR} 9 | 10 | echo "Now at: $(pwd)" 11 | 12 | pnpm install 13 | pnpm run docs:build 14 | 15 | # 进入生成的文件夹 16 | cd src/.vuepress/dist 17 | # 18 | git init 19 | git add -A 20 | git commit -m 'deploy docs' 21 | # 22 | git push -f git@github.com:hylexus/xtream-codec.git main:gh-pages 23 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | quick-start-with-storage 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | quick-start-with-storage 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | quick-start-with-storage 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/pages/configuration.tsx: -------------------------------------------------------------------------------- 1 | import { useRouteLoaderData } from "react-router-dom"; 2 | 3 | import { JsonPreview } from "@/components/json-preview.tsx"; 4 | import { ServerInfo } from "@/types"; 5 | 6 | export const ConfigurationPage = () => { 7 | const { config } = useRouteLoaderData("root") as { config: ServerInfo }; 8 | 9 | return ( 10 |
11 | 12 |
13 | ); 14 | }; 15 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-blocking/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM azul/zulu-openjdk:21 2 | LABEL authors="hylexus" 3 | 4 | WORKDIR /app/ 5 | 6 | ARG JAR_FILE=build/libs/jt-1078-server-quick-start-blocking.jar 7 | COPY ${JAR_FILE} app.jar 8 | 9 | ENV TZ=Asia/Shanghai 10 | ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" 11 | ENV APP_ARGS="--spring.profiles.active=docker_compose" 12 | 13 | CMD ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar ${APP_ARGS}"] 14 | 15 | EXPOSE 8888 16 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/components/dashboard/count-number.tsx: -------------------------------------------------------------------------------- 1 | import { useCountUp } from "react-countup"; 2 | import { useEffect, useRef } from "react"; 3 | 4 | export const CountNumber = ({ end }: { end: number }) => { 5 | const countUpRef = useRef(null); 6 | const { update } = useCountUp({ 7 | ref: countUpRef, 8 | start: 0, 9 | end, 10 | }); 11 | 12 | useEffect(() => { 13 | update(end); 14 | }, [end]); 15 | 16 | return ; 17 | }; 18 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-nonblocking/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM azul/zulu-openjdk:21 2 | LABEL authors="hylexus" 3 | 4 | WORKDIR /app/ 5 | 6 | ARG JAR_FILE=build/libs/jt-1078-server-quick-start-nonblocking.jar 7 | COPY ${JAR_FILE} app.jar 8 | 9 | ENV TZ=Asia/Shanghai 10 | ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" 11 | ENV APP_ARGS="--spring.profiles.active=docker_compose" 12 | 13 | CMD ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar ${APP_ARGS}"] 14 | 15 | EXPOSE 8888 16 | -------------------------------------------------------------------------------- /docs/src/ext/jt/jt808/dashboard/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: info-circle 3 | article: false 4 | --- 5 | 6 | # 介绍 7 | 8 | ::: tip 9 | 10 | 如果你不需要该组件,可以跳过本节。 11 | 12 | ::: 13 | 14 | ## 作用 15 | 16 | 这里介绍的是 **Xtream** 提供的 **JT/T 808** 服务端的监控页面。作用类似于 **spring-boot-admin**。 17 | 18 | ## 效果图 19 | 20 | ![仪表盘](/img/ext/jt/jt808/dashboard/overview-dashboard.png) 21 | 22 | ![会话](/img/ext/jt/jt808/dashboard/overview-session.png) 23 | 24 | ![链路监控](/img/ext/jt/jt808/dashboard/overview-data-link.png) 25 | 26 | 27 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-dashboard/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM azul/zulu-openjdk:21 2 | LABEL authors="hylexus" 3 | 4 | WORKDIR /app/ 5 | 6 | ARG JAR_FILE=build/libs/jt-808-server-quick-start-with-dashboard.jar 7 | COPY ${JAR_FILE} app.jar 8 | 9 | ENV TZ=Asia/Shanghai 10 | ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" 11 | ENV APP_ARGS="--spring.profiles.active=docker_compose" 12 | 13 | CMD ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar ${APP_ARGS}"] 14 | 15 | EXPOSE 8888 16 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | quick-start-with-storage 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/src/guide/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: signs-post 3 | article: false 4 | --- 5 | 6 | # 指南 7 | 8 | ```component VPCard 9 | title: xtream-codec-core 10 | desc: 核心编解码库 11 | logo: /logo.svg 12 | link: /guide/core/quick-start/quick-start.md 13 | background: rgba(225, 225, 225, .1) 14 | ``` 15 | 16 | ```component VPCard 17 | title: xtream-codec-server-reactive 18 | desc: 异步、非阻塞的 TCP/UDP 服务端 19 | logo: /logo.svg 20 | link: /guide/server/quick-start/terminology.md 21 | background: rgba(225, 225, 225, .1) 22 | ``` 23 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + TypeScript + Vite 2 | 3 | This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` 12 | 13 | 17 | 18 | 21 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/src/router/index.ts: -------------------------------------------------------------------------------- 1 | import {createRouter, createWebHistory} from 'vue-router' 2 | import Home from "../pages/home.vue"; 3 | import FlvPlayerDemo from "../pages/flv-player-demo.vue"; 4 | import FlvPlayerDemoWith808Sessions from '../pages/flv-player-demo-with-808-sessions.vue'; 5 | 6 | const routes = [ 7 | {path: '/home', component: Home}, 8 | {path: '/flv-player', component: FlvPlayerDemo}, 9 | {path: '/flv-player-with-808-sessions', component: FlvPlayerDemoWith808Sessions}, 10 | ] 11 | 12 | export const router = createRouter({ 13 | history: createWebHistory('/jt1078-quick-start-ui/'), 14 | routes, 15 | }) 16 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/routes/root.tsx: -------------------------------------------------------------------------------- 1 | import { request } from "@/utils/request.ts"; 2 | import { Dependencies, JavaInfo, OsInfo, ServerInfo } from "@/types"; 3 | 4 | export async function loader() { 5 | const path = `server-info`; 6 | let data: ServerInfo = { 7 | dependencies: {} as Dependencies, 8 | serverStartupTime: "", 9 | jt808ServerConfig: {}, 10 | java: {} as JavaInfo, 11 | os: {} as OsInfo, 12 | }; 13 | 14 | try { 15 | data = await request({ 16 | path, 17 | method: "GET", 18 | }); 19 | } catch (error) { 20 | // TODO 21 | console.log(error); 22 | } 23 | 24 | return { config: data }; 25 | } 26 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/components/svg/SvgIcon.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 22 | 23 | 32 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/src/router/index.ts: -------------------------------------------------------------------------------- 1 | import {createRouter, createWebHashHistory} from 'vue-router' 2 | import AlarmInfo from "../pages/alarm-info.vue"; 3 | import TraceLog from "../pages/trace-log.vue"; 4 | import HomePage from "../pages/home-page.vue"; 5 | import TerminalList from "../pages/terminal-list.vue"; 6 | 7 | const routes = [ 8 | {path: '/', component: HomePage}, 9 | {path: '/terminals', component: TerminalList}, 10 | {path: '/alarm-info', component: AlarmInfo}, 11 | {path: '/trace-log', component: TraceLog}, 12 | ] 13 | 14 | export const router = createRouter({ 15 | history: createWebHashHistory(), 16 | routes, 17 | }) 18 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-blocking/docker/quick-start-2/quick-start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | docker pull registry.cn-hangzhou.aliyuncs.com/xtream-codec/jt-808-server-quick-start-with-storage-blocking:latest 4 | 5 | docker run --rm -p 8888:8888 \ 6 | -p 3927:3927 \ 7 | -p 3721:3721 \ 8 | -p 3824:3824 \ 9 | -p 3618:3618 \ 10 | -v ./application-demo.yaml:/app/application-demo.yaml \ 11 | registry.cn-hangzhou.aliyuncs.com/xtream-codec/jt-808-server-quick-start-with-storage-blocking:latest \ 12 | java \ 13 | -Djava.security.egd=file:/dev/./urandom \ 14 | -Dspring.config.additional-location=file:/app/application-demo.yaml \ 15 | -jar /app/app.jar \ 16 | --spring.profiles.active=demo 17 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-nonblocking/docker/quick-start-2/quick-start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | docker pull registry.cn-hangzhou.aliyuncs.com/xtream-codec/jt-808-server-quick-start-with-storage-nonblocking:latest 4 | 5 | docker run --rm -p 8888:8888 \ 6 | -p 3927:3927 \ 7 | -p 3721:3721 \ 8 | -p 3824:3824 \ 9 | -p 3618:3618 \ 10 | -v ./application-demo.yaml:/app/application-demo.yaml \ 11 | registry.cn-hangzhou.aliyuncs.com/xtream-codec/jt-808-server-quick-start-with-storage-nonblocking:latest \ 12 | java \ 13 | -Djava.security.egd=file:/dev/./urandom \ 14 | -Dspring.config.additional-location=file:/app/application-demo.yaml \ 15 | -jar /app/app.jar \ 16 | --spring.profiles.active=demo 17 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/utils/storage.ts: -------------------------------------------------------------------------------- 1 | export const setLocalStorage = (key: string, value: T): void => { 2 | try { 3 | localStorage.setItem(key, JSON.stringify(value)); 4 | } catch (error) { 5 | console.error('写入失败:', error); 6 | } 7 | }; 8 | 9 | export const getLocalStorage = (key: string): T | null => { 10 | const value = localStorage.getItem(key); 11 | if (value) { 12 | try { 13 | return JSON.parse(value) as T; 14 | } catch (error) { 15 | console.error('解析失败:', error); 16 | // 如果不是 JSON 格式,直接返回字符串 17 | return value as unknown as T; 18 | } 19 | } 20 | return null; 21 | }; 22 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/error.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useEffect } from "react"; 4 | 5 | export default function Error({ 6 | error, 7 | reset, 8 | }: { 9 | error: Error; 10 | reset: () => void; 11 | }) { 12 | useEffect(() => { 13 | // Log the error to an error reporting service 14 | /* eslint-disable no-console */ 15 | console.error(error); 16 | }, [error]); 17 | 18 | return ( 19 |
20 |

Something went wrong!

21 | 29 |
30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/tailwind.config.js: -------------------------------------------------------------------------------- 1 | import { heroui } from "@heroui/theme"; 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | export default { 5 | content: [ 6 | "./index.html", 7 | "./src/layouts/**/*.{js,ts,jsx,tsx,mdx}", 8 | "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", 9 | "./src/components/**/*.{js,ts,jsx,tsx,mdx}", 10 | "./node_modules/@heroui/theme/dist/**/*.{js,ts,jsx,tsx}", 11 | ], 12 | theme: { 13 | extend: { 14 | backgroundImage: { 15 | 'regal-blue': 'radial-gradient(50% 50% at 50% 50%, rgba(147, 83, 211, 0.8) 0%, rgba(125, 78, 255, 0) 100%)', 16 | } 17 | }, 18 | }, 19 | darkMode: "class", 20 | plugins: [heroui({ 21 | prefix: "xc", 22 | })], 23 | }; 24 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "isolatedModules": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true, 21 | "noUncheckedSideEffectImports": true 22 | }, 23 | "include": ["vite.config.ts"] 24 | } 25 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/src/api/terminal-api.ts: -------------------------------------------------------------------------------- 1 | import {Command8104Response, TerminalVo} from "../types/model.ts"; 2 | import {request} from "../utils/request.ts"; 3 | 4 | export const requestTerminalList = async (query: object): Promise<{ data: TerminalVo[], total: number }> => { 5 | return await request({ 6 | path: 'dashboard-api/jt808/v1/session/instruction-sessions', 7 | method: 'GET', 8 | params: query 9 | }); 10 | } 11 | export const requestSendCommand8104 = async (data: object): Promise => { 12 | return await request({ 13 | path: 'api/jt-808-quick-start-with-storage/v1/command/8104', 14 | method: 'POST', 15 | data 16 | }); 17 | } 18 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "isolatedModules": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true, 21 | "noUncheckedSideEffectImports": true 22 | }, 23 | "include": ["vite.config.ts"] 24 | } 25 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "isolatedModules": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true, 21 | "noUncheckedSideEffectImports": true 22 | }, 23 | "include": ["vite.config.ts"] 24 | } 25 | -------------------------------------------------------------------------------- /docs/src/release-notes/latest.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: code-branch 3 | article: false 4 | --- 5 | 6 | # Latest 7 | 8 | ## 0.3.0(2025-10-26) 9 | 10 | ### 🎯 Highlights 11 | 12 | - 默认属性访问策略由 `反射` 改为 `java.lang.invoke.LambdaMetafactory` 13 | 14 | ### ⭐ New Features 15 | 16 | - 新增 `@XtreamEntity` 注解,支持配置类级别的属性访问策略 17 | - 新增 `@XtreamField.propertyAccessStrategy()` 属性,支持配置字段级别的属性访问策略 18 | 19 | ### 🐞 Bug Fixes 20 | 21 | - 修复 `AbstractJt808Message` 初始化异常 22 | 23 | ### 🔨 Dependency Updates 24 | 25 | - 可空性标记全部使用 [jspecify](https://jspecify.dev/) 26 | - 彻底移除 `jakarta.annotation-api` 27 | 28 | ## 0.2.0(2025-10-18) 29 | 30 | ### ⭐ New Features 31 | 32 | - 增强 `Record` 类型的表达式解析功能 33 | - 增强 `Record` 类型的 `CodecTracker` 埋点 34 | - 重构 `BeanPropertyMetadata.PropertyGetter` 和 `BeanPropertyMetadata.PropertySetter` 的实现类 35 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true, 17 | "plugins": [ 18 | { 19 | "name": "next" 20 | } 21 | ], 22 | "paths": { 23 | "@/*": ["./*"] 24 | } 25 | }, 26 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 27 | "exclude": ["node_modules"] 28 | } 29 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-project", 3 | "private": true, 4 | "version": "0.3.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vue-tsc -b && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "axios": "^1.7.9", 13 | "build": "^0.1.4", 14 | "element-plus": "^2.8.8", 15 | "pnpm": "^9.15.3", 16 | "run": "^1.5.0", 17 | "vue": "^3.5.13", 18 | "vue-router": "^4.5.0" 19 | }, 20 | "devDependencies": { 21 | "@vitejs/plugin-vue": "^5.2.1", 22 | "sass": "^1.81.0", 23 | "typescript": "~5.6.2", 24 | "unocss": "^0.64.1", 25 | "unplugin-element-plus": "^0.8.0", 26 | "vite": "^6.0.1", 27 | "vue-tsc": "^2.1.10" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "lib": ["ES2023", "DOM", "DOM.Iterable"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | "paths": { 9 | "@/*": ["./src/*"] 10 | }, 11 | 12 | /* Bundler mode */ 13 | "moduleResolution": "bundler", 14 | "allowImportingTsExtensions": true, 15 | "resolveJsonModule": true, 16 | "isolatedModules": true, 17 | "noEmit": true, 18 | "jsx": "react-jsx", 19 | 20 | /* Linting */ 21 | "strict": true, 22 | "noUnusedLocals": true, 23 | "noUnusedParameters": true, 24 | "noFallthroughCasesInSwitch": true 25 | }, 26 | "include": ["src"], 27 | "references": [{ "path": "./tsconfig.node.json" }] 28 | } 29 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start/jt-808-server-quick-start.gradle.kts: -------------------------------------------------------------------------------- 1 | import io.github.hylexus.xtream.codec.gradle.plugins.XtreamCodecFastModePlugin 2 | 3 | plugins { 4 | id("org.springframework.boot") 5 | application 6 | } 7 | 8 | application { 9 | mainClass.set("io.github.hylexus.xtream.quickstart.ext.jt808.Jt808ServerQuickStartApp") 10 | } 11 | tasks.bootJar { 12 | archiveFileName.set("${project.name}.jar") 13 | mainClass.set("io.github.hylexus.xtream.quickstart.ext.jt808.Jt808ServerQuickStartApp") 14 | } 15 | apply() 16 | 17 | dependencies { 18 | 19 | // 加解密 20 | api("org.bouncycastle:bcprov-jdk18on") 21 | api(project(":ext:jt:jt-808-server-spring-boot-starter-reactive")) 22 | api("org.springframework.boot:spring-boot-starter-logging") 23 | 24 | } 25 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/layouts/dashboard.tsx: -------------------------------------------------------------------------------- 1 | import { Outlet } from "react-router-dom"; 2 | 3 | import { Navbar } from "@/components/navbar"; 4 | import { Sidebar } from "@/components/sidebar.tsx"; 5 | import { Provider } from "@/provider.tsx"; 6 | import { AwesomeBg } from "@/components/awesome-bg.tsx"; 7 | 8 | export const DashboardLayout = () => { 9 | return ( 10 | 11 | 12 |
13 | 14 |
15 | 16 |
17 | 18 |
19 |
20 |
21 |
22 | ); 23 | }; 24 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": [ 6 | "ES2023" 7 | ], 8 | "module": "ESNext", 9 | "skipLibCheck": true, 10 | "types": [ 11 | "node" 12 | ], 13 | /* Bundler mode */ 14 | "moduleResolution": "bundler", 15 | "allowImportingTsExtensions": true, 16 | "isolatedModules": true, 17 | "moduleDetection": "force", 18 | "noEmit": true, 19 | /* Linting */ 20 | "strict": true, 21 | "noUnusedLocals": true, 22 | "noUnusedParameters": true, 23 | "noFallthroughCasesInSwitch": true, 24 | "noUncheckedSideEffectImports": true 25 | }, 26 | "include": [ 27 | "vite.config.ts" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-reactive-debug/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 the original author or authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # https://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | spring: 18 | profiles: 19 | active: local 20 | 21 | server: 22 | port: 9999 23 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-debug-ui/src/router/index.ts: -------------------------------------------------------------------------------- 1 | import {createRouter, createWebHistory} from 'vue-router' 2 | import MessageDecoding from "../pages/message-decoding.vue"; 3 | import Home from "../pages/home.vue"; 4 | import MessageEncoding from "../pages/message-encoding.vue"; 5 | import FieldTest from "@/pages/field-test.vue"; 6 | import DynamicEncoding from "@/pages/dynamic-encoding.vue"; 7 | 8 | const routes = [ 9 | {path: '/home', component: Home}, 10 | {path: '/message-decoding', component: MessageDecoding}, 11 | {path: '/message-encoding', component: MessageEncoding}, 12 | {path: '/dynamic-encoding', component: DynamicEncoding}, 13 | {path: '/field-test', component: FieldTest}, 14 | ] 15 | 16 | export const router = createRouter({ 17 | history: createWebHistory(), 18 | routes, 19 | }) 20 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/components/theme-switch.tsx: -------------------------------------------------------------------------------- 1 | import { Switch } from "@heroui/switch"; 2 | import { ThemeProps, useTheme } from "@heroui/use-theme"; 3 | 4 | import { FaMoonIcon, FaSunIcon } from "@/components/icons.tsx"; 5 | 6 | export const ThemeSwitch = () => { 7 | const { theme, setTheme } = useTheme(); 8 | 9 | return ( 10 | 15 | isSelected ? ( 16 | 17 | ) : ( 18 | 19 | ) 20 | } 21 | onChange={(e) => { 22 | setTheme(e.currentTarget.checked ? ThemeProps.LIGHT : ThemeProps.DARK); 23 | }} 24 | /> 25 | ); 26 | }; 27 | -------------------------------------------------------------------------------- /docs/src/.vuepress/components/RepoGitee.js: -------------------------------------------------------------------------------- 1 | import {defineComponent, h, resolveComponent} from "vue"; 2 | import {GiteeIcon} from "vuepress-shared/client"; 3 | import './styles/repo-link.css' 4 | export default defineComponent({ 5 | name: "RepoGitee", 6 | components: {GiteeIcon}, 7 | setup() { 8 | return () => h("div", { class: "nav-item vp-repo" }, h("a", { 9 | class: "vp-repo-link", 10 | href: 'https://gitee.com/hylexus/xtream-codec', 11 | target: "_blank", 12 | rel: "noopener noreferrer", 13 | "aria-label": 'Gitee', 14 | }, h(resolveComponent('GiteeIcon'), { 15 | style: { 16 | width: "1.25rem", 17 | height: "1.25rem", 18 | verticalAlign: "middle", 19 | }, 20 | }))) 21 | }, 22 | }); 23 | -------------------------------------------------------------------------------- /docs/src/.vuepress/public/assets/fa-icon.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | * Copyright 2024 Fonticons, Inc. 5 | */ 6 | @font-face { 7 | font-family:"Font Awesome 5 Brands"; 8 | font-display:block; 9 | font-weight:400; 10 | src:url(../webfonts/free-fa-brands-400.woff2) format("woff2") 11 | } 12 | @font-face { 13 | font-family:"Font Awesome 5 Free"; 14 | font-display:block; 15 | font-weight:900; 16 | src:url(../webfonts/free-fa-solid-900.woff2) format("woff2") 17 | } 18 | @font-face { 19 | font-family:"Font Awesome 5 Free"; 20 | font-display:block; 21 | font-weight:400; 22 | src:url(../webfonts/free-fa-regular-400.woff2) format("woff2") 23 | } 24 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 | "target": "ES2020", 5 | "useDefineForClassFields": true, 6 | "module": "ESNext", 7 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 8 | "skipLibCheck": true, 9 | 10 | /* Bundler mode */ 11 | "moduleResolution": "bundler", 12 | "allowImportingTsExtensions": true, 13 | "isolatedModules": true, 14 | "moduleDetection": "force", 15 | "noEmit": true, 16 | "jsx": "preserve", 17 | 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "noFallthroughCasesInSwitch": true, 23 | "noUncheckedSideEffectImports": true 24 | }, 25 | "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] 26 | } 27 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-project", 3 | "private": true, 4 | "version": "0.3.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vue-tsc -b && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "axios": "^1.7.9", 13 | "build": "^0.1.4", 14 | "element-plus": "^2.9.7", 15 | "@element-plus/icons-vue": "2.3.1", 16 | "pnpm": "^9.15.3", 17 | "run": "^1.5.0", 18 | "vue": "^3.5.13", 19 | "vue-router": "^4.5.0", 20 | "mpegts.js": "1.8.0" 21 | }, 22 | "devDependencies": { 23 | "@vitejs/plugin-vue": "^5.2.1", 24 | "sass": "^1.81.0", 25 | "typescript": "~5.6.2", 26 | "unocss": "^0.64.1", 27 | "unplugin-element-plus": "^0.8.0", 28 | "vite": "^6.0.1", 29 | "vue-tsc": "^2.1.10" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /debug/jt/jt-1078-server-spring-boot-starter-debug-ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 | "target": "ES2020", 5 | "useDefineForClassFields": true, 6 | "module": "ESNext", 7 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 8 | "skipLibCheck": true, 9 | 10 | /* Bundler mode */ 11 | "moduleResolution": "bundler", 12 | "allowImportingTsExtensions": true, 13 | "isolatedModules": true, 14 | "moduleDetection": "force", 15 | "noEmit": true, 16 | "jsx": "preserve", 17 | 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "noFallthroughCasesInSwitch": true, 23 | "noUncheckedSideEffectImports": true 24 | }, 25 | "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] 26 | } 27 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 | "target": "ES2020", 5 | "useDefineForClassFields": true, 6 | "module": "ESNext", 7 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 8 | "skipLibCheck": true, 9 | 10 | /* Bundler mode */ 11 | "moduleResolution": "bundler", 12 | "allowImportingTsExtensions": true, 13 | "isolatedModules": true, 14 | "moduleDetection": "force", 15 | "noEmit": true, 16 | "jsx": "preserve", 17 | 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "noFallthroughCasesInSwitch": true, 23 | "noUncheckedSideEffectImports": true 24 | }, 25 | "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] 26 | } 27 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jt-1078-server-quick-start-ui", 3 | "private": true, 4 | "version": "0.3.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vue-tsc -b && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "axios": "^1.7.9", 13 | "build": "^0.1.4", 14 | "element-plus": "^2.9.7", 15 | "@element-plus/icons-vue": "2.3.1", 16 | "pnpm": "^9.15.3", 17 | "run": "^1.5.0", 18 | "vue": "^3.5.13", 19 | "vue-router": "^4.5.0", 20 | "mpegts.js": "1.8.0" 21 | }, 22 | "devDependencies": { 23 | "@vitejs/plugin-vue": "^5.2.1", 24 | "sass": "^1.81.0", 25 | "typescript": "~5.6.2", 26 | "unocss": "^0.64.1", 27 | "unplugin-element-plus": "^0.8.0", 28 | "vite": "^6.0.1", 29 | "vue-tsc": "^2.1.10" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /xtream-codec-base/src/main/java/io/github/hylexus/xtream/codec/base/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.base.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.core.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/src/components/dashboard/spolight-card.tsx: -------------------------------------------------------------------------------- 1 | import { ReactNode, useRef } from "react"; 2 | import { Card } from "@heroui/card"; 3 | 4 | import { useMouseMove } from "@/hooks/use-mouse-move.ts"; 5 | export const SpotlightCard = ({ 6 | children, 7 | ...props 8 | }: { 9 | children: ReactNode; 10 | className?: string; 11 | }) => { 12 | const ref = useRef(null); 13 | const { x, y } = useMouseMove(ref); 14 | 15 | return ( 16 | 0 || y > 0 23 | ? `radial-gradient(450px at ${x}px ${y}px, rgba(120, 40, 200, 0.4), transparent 80%)` 24 | : "", 25 | }} 26 | {...props} 27 | > 28 | {children} 29 | 30 | ); 31 | }; 32 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/common/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.common.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.core.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/jt-1078-server-dashboard-spring-boot-starter-reactive.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | 3 | annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") 4 | 5 | api(project(":xtream-codec-base")) 6 | api(project(":ext:jt:jt-1078-server-spring-boot-starter-reactive")) 7 | 8 | api("org.springframework.boot:spring-boot-starter-webflux") 9 | api("org.springframework.boot:spring-boot-starter-validation") 10 | 11 | compileOnly("org.springframework.boot:spring-boot-starter-web") 12 | compileOnly("org.springframework.boot:spring-boot-starter-actuator") 13 | compileOnly("org.springframework.boot:spring-boot-starter-websocket") 14 | // runtime 15 | 16 | testImplementation("org.springframework.boot:spring-boot-starter-test") 17 | testImplementation("org.mockito:mockito-core") 18 | } 19 | -------------------------------------------------------------------------------- /xtream-codec-base/src/main/java/io/github/hylexus/xtream/codec/base/expression/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.base.expression; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/common/bean/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.common.bean; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-nonblocking/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 the original author or authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # https://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | spring: 18 | application: 19 | name: jt-808-server-quick-start-with-storage-nonblocking 20 | profiles: 21 | active: docker_compose 22 | -------------------------------------------------------------------------------- /xtream-codec-base/src/main/java/io/github/hylexus/xtream/codec/base/web/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.base.web.exception; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/impl/codec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.core.impl.codec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/common/bean/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.common.bean.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/impl/codec/map/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.core.impl.codec.map; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/type/simple/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.core.type.simple; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-ui/vite.config.ts: -------------------------------------------------------------------------------- 1 | import {defineConfig} from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | import ElementPlus from 'unplugin-element-plus/vite'; 4 | import UnoCSS from 'unocss/vite' 5 | 6 | // https://vite.dev/config/ 7 | export default defineConfig({ 8 | plugins: [vue(), ElementPlus({}), UnoCSS()], 9 | server: { 10 | host: '0.0.0.0', 11 | proxy: { 12 | // "/api/jt-808-quick-start-with-storage": { 13 | // target: "http://localhost:8080", 14 | // changeOrigin: true, 15 | // // rewrite: (path) => path.replace(/^\/api/, "/api/v1"), 16 | // rewrite: (path) => path, 17 | // }, 18 | '/dashboard-api': 'http://localhost:8888', 19 | '/api/jt-808-quick-start-with-storage': 'http://localhost:8888', 20 | }, 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/annotation/PaddingType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package io.github.hylexus.xtream.codec.core.annotation; 18 | 19 | public enum PaddingType { 20 | LEFT, 21 | RIGHT, 22 | NONE 23 | } 24 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/extensions/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * 这个包里都是 xtream-server 扩展点的实现。 19 | */ 20 | package io.github.hylexus.xtream.codec.ext.jt808.extensions; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/TcpXtreamFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package io.github.hylexus.xtream.codec.server.reactive.spec; 18 | 19 | public interface TcpXtreamFilter extends XtreamFilter { 20 | } 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/UdpXtreamFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package io.github.hylexus.xtream.codec.server.reactive.spec; 18 | 19 | public interface UdpXtreamFilter extends XtreamFilter { 20 | } 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/spec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.spec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/spec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.spec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/codec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.codec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/common/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.common; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/pubsub/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.pubsub; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Xtream Codec 8 | 9 | 10 | 11 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.exception; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/processor/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.processor; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/spec/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.spec.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/impl/tcp/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.impl.tcp; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/impl/udp/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.impl.udp; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/resources/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.resources; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /debug/jt/jt-808-server-spring-boot-starter-reactive-debug/src/main/java/io/github/hylexus/xtream/debug/ext/jt808/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.debug.ext.jt808.handler; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/flv/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.flv; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.exception; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/processor/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.processor; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/spec/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.spec.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/codec/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.codec.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/boot/listener/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.boot.listener; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/audio/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.audio; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/flv/tag/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.flv.tag; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/pubsub/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.pubsub.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/actuator/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.actuator; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/condition/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.condition; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/listener/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.listener; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/event/builtin/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.event.builtin; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/boot/condition/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.boot.condition; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/boot/properties/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.boot.properties; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/flv/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.flv.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/h264/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.h264.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/spec/resources/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.spec.resources; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/properties/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.properties; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/extensions/filter/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.extensions.filter; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/extensions/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.extensions.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/boot/configuration/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.boot.configuration; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/audio/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.audio.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/extensions/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.extensions.handler; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/configuration/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.configuration; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/extensions/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.extensions.handler; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/extensions/listener/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.extensions.listener; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /quick-start/jt/jt-808-server-quick-start-with-storage-blocking/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 the original author or authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # https://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | spring: 18 | application: 19 | name: jt-808-server-quick-start-with-storage-blocking 20 | profiles: 21 | active: docker_compose 22 | mvc: 23 | async: 24 | request-timeout: 10s 25 | -------------------------------------------------------------------------------- /xtream-codec-base/src/main/java/io/github/hylexus/xtream/codec/base/expression/CustomXtreamExpressionEngine.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package io.github.hylexus.xtream.codec.base.expression; 18 | 19 | public non-sealed interface CustomXtreamExpressionEngine extends XtreamExpressionEngine { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/dashboard/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.dashboard.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/audio/impl/aac/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.audio.impl.aac; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/audio/impl/mp3/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.audio.impl.mp3; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/handler/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.handler; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/service/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.service; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/codec/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.codec; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/ext/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.ext; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/test/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/mixed/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.mixed; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xtream-codec", 3 | "version": "0.3.0", 4 | "description": "docs for xtream-codec", 5 | "license": "Apache License 2.0", 6 | "type": "module", 7 | "engines": { 8 | "node": ">=22.12.0", 9 | "pnpm": ">=9.12.1" 10 | }, 11 | "scripts": { 12 | "docs:dev": "vuepress-vite dev src", 13 | "docs:clean-dev": "vuepress-vite dev src --clean-cache", 14 | "docs:build": "vuepress-vite build src", 15 | "docs:update-package": "pnpm dlx vp-update" 16 | }, 17 | "devDependencies": { 18 | "@vuepress/bundler-vite": "2.0.0-rc.26", 19 | "@vuepress/plugin-search": "2.0.0-rc.120", 20 | "@vuepress/plugin-slimsearch": "2.0.0-rc.120", 21 | "sass-embedded": "^1.93.3", 22 | "vue": "^3.5.25", 23 | "vuepress": "2.0.0-rc.26", 24 | "vuepress-plugin-llms": "1.0.1", 25 | "vuepress-theme-hope": "2.0.0-rc.99" 26 | }, 27 | "dependencies": { 28 | "vuepress-shared": "2.0.0-rc.99" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/audio/impl/adpcm/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.audio.impl.adpcm; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/codec/audio/impl/g711/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.codec.audio.impl.g711; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/pubsub/impl/collector/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.pubsub.impl.collector; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/domain/bo/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.domain.bo; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/domain/vo/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.domain.vo; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/configuration/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.configuration.utils; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/jt1078/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.jt1078; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/request/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.request; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/event/builtin/disruptor/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.server.reactive.spec.event.builtin.disruptor; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/dashboard/service/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.dashboard.service; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-ui/app/providers.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import type { ThemeProviderProps } from "next-themes"; 4 | 5 | import * as React from "react"; 6 | import { HeroUIProvider } from "@heroui/system"; 7 | import { useRouter } from "next/navigation"; 8 | import { ThemeProvider as NextThemesProvider } from "next-themes"; 9 | 10 | export interface ProvidersProps { 11 | children: React.ReactNode; 12 | themeProps?: ThemeProviderProps; 13 | } 14 | 15 | declare module "@react-types/shared" { 16 | interface RouterConfig { 17 | routerOptions: NonNullable< 18 | Parameters["push"]>[1] 19 | >; 20 | } 21 | } 22 | 23 | export function Providers({ children, themeProps }: ProvidersProps) { 24 | const router = useRouter(); 25 | 26 | return ( 27 | 28 | {children} 29 | 30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/controller/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.controller; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/domain/dto/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.domain.dto; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/service/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.service.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/response/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.response; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-blocking/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 the original author or authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # https://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | spring: 18 | application: 19 | name: jt-1078-server-quick-start-blocking 20 | profiles: 21 | active: local 22 | main: 23 | # SpringMvc 和 Webflux 都在类路径下,这里指定使用 SpringMvc 24 | web-application-type: servlet 25 | -------------------------------------------------------------------------------- /xtream-codec-server-reactive/src/main/java/io/github/hylexus/xtream/codec/server/reactive/spec/XtreamResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package io.github.hylexus.xtream.codec.server.reactive.spec; 18 | 19 | /** 20 | * @author hylexus 21 | */ 22 | public interface XtreamResponse extends XtreamOutbound { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/dashboard/controller/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.dashboard.controller; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/dashboard/exception/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.dashboard.exception; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/domain/events/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.domain.events; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/domain/values/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.domain.values; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/boot/configuration/attachment/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.boot.configuration.attachment; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/builtin/messages/ext/location/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.builtin.messages.ext.location; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /quick-start/jt/jt-1078-server-quick-start-nonblocking/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2024 the original author or authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # https://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | spring: 18 | application: 19 | name: jt-1078-server-quick-start-nonblocking 20 | profiles: 21 | active: local 22 | main: 23 | # SpringMvc 和 Webflux 都在类路径下,这里指定使用 Webflux 24 | web-application-type: reactive 25 | -------------------------------------------------------------------------------- /xtream-codec-core/src/main/java/io/github/hylexus/xtream/codec/core/BeanMetadataRegistryAware.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package io.github.hylexus.xtream.codec.core; 18 | 19 | public interface BeanMetadataRegistryAware { 20 | 21 | void setBeanMetadataRegistry(int version, BeanMetadataRegistry registry); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/dashboard/domain/value/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.dashboard.domain.value; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-1078-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt1078/dashboard/service/impl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt1078.dashboard.service.impl; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | 22 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/actuate/mapping/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.actuate.mapping; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | -------------------------------------------------------------------------------- /ext/jt/jt-808-server-dashboard-spring-boot-starter-reactive/src/main/java/io/github/hylexus/xtream/codec/ext/jt808/dashboard/actuate/request/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NullMarked 18 | package io.github.hylexus.xtream.codec.ext.jt808.dashboard.actuate.request; 19 | 20 | import org.jspecify.annotations.NullMarked; 21 | --------------------------------------------------------------------------------