{"id":16702175,"url":"https://github.com/novabyte/grizzly-blink","last_synced_at":"2025-04-10T04:21:49.252Z","repository":{"id":10454193,"uuid":"12624580","full_name":"novabyte/grizzly-blink","owner":"novabyte","description":"Grizzly NIO framework filters to process the Blink protocol serialized messages.","archived":false,"fork":false,"pushed_at":"2013-09-08T13:07:18.000Z","size":336,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T05:36:53.051Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/novabyte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-05T17:54:28.000Z","updated_at":"2020-07-23T21:16:36.000Z","dependencies_parsed_at":"2022-09-22T19:40:26.368Z","dependency_job_id":null,"html_url":"https://github.com/novabyte/grizzly-blink","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novabyte%2Fgrizzly-blink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novabyte%2Fgrizzly-blink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novabyte%2Fgrizzly-blink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novabyte%2Fgrizzly-blink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novabyte","download_url":"https://codeload.github.com/novabyte/grizzly-blink/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248155441,"owners_count":21056638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T18:47:05.576Z","updated_at":"2025-04-10T04:21:49.210Z","avatar_url":"https://github.com/novabyte.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Grizzly-Blink\n=============\n\n[Grizzly NIO framework](http://grizzly.java.net/) filters to process the\n [Blink](http://blinkprotocol.org/) protocol serialized messages.\n\nGrizzly-Blink is created and maintained by Chris Molozian (@novabyte).\n\u003cbr/\u003e\nCode licensed under the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0).\n Documentation licensed under [CC BY 3.0](http://creativecommons.org/licenses/by/3.0/).\n\n## Usage ##\n\nGrizzly-Blink is available on [Maven Central](http://search.maven.org/).\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eme.cmoz.grizzly\u003c/groupId\u003e\n    \u003cartifactId\u003egrizzly-blink\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nIf you're not using Maven (or a dependency resolver that's compatible with Maven\n repositories), you can download the JARs you need for your project from\n Maven Central.\n\n### Filter Types ###\n\nAt the moment there is only one filter to choose from: __BlinkCompactFilter__.\n This filter implements the [Blink Compact](http://blog.blinkprotocol.org/2013/02/blink-native-binary-format-introduction.html)\n protocol.\n\nThere are future plans to add support for the __Blink Native__ version of the\n Blink protocol specification once support for it is added to\n [jblink](https://github.com/pantor-engineering/jblink).\n\n## Example ##\n\nThe filter needs a `Schema` type to use to encode and decode messages.\n\nThe example below demonstrates the\n [`Hello` protocol](https://github.com/novabyte/grizzly-blink/tree/master/src/test/blink/Hello.blink),\n all messages sent/received by the filter chain will (de)serialize to the `Hello`\n protocol format:\n\n```java\nfinal Schema schema = new Schema();\nSchemaReader.readFromString(\n        \"namespace HelloSpec\\n\" +\n        \"Hello/1 -\u003e\\n\" +\n        \"  string Greeting\", schema);\nschema.finalizeSchema();\n\nfinal FilterChainBuilder serverFilterBuilder = FilterChainBuilder.stateless()\n        .add(new TransportFilter())\n        .add(new BlinkCompactFilter(schema, \"some.package.for.blink.code\"))\n```\n\nFor more detailed examples of how to integrate this filter into your code have a\n look at the [test cases](https://github.com/novabyte/grizzly-blink/tree/master/src/test/java/me/cmoz/grizzly/blink).\n\n## Developer Notes ##\n\nThe codebase requires the [Gradle](http://gradle.org) build tool at version\n `1.6+` and the Java compiler at version `1.6.0` or greater.\n\nThe main external dependency for the project is [Grizzly NIO](http://grizzly.java.net/),\n at `2.3.5` or greater. At the moment [jblink](https://github.com/pantor-engineering/jblink)\n is being bundled within this library until it's packaged properly and available\n on [Maven Central](http://search.maven.org/).\n\nFor a full list of dependencies see the [build script](https://github.com/novabyte/grizzly-blink/blob/master/build.gradle).\n All dependencies are downloaded by Gradle during the build process.\n\n### Building the codebase ###\n\nThe codebase requires [NodeJS](http://nodejs.org/) to use the __blinkc__\n compiler, it generates source files that map the protocol specification to Java\n (similarly to how Protobuf-Java works). You'll also need to clone the repository\n with all git submodules to include the `blinkc.js` dependency:\n\n```\ngit clone --recursive git://github.com/novabyte/grizzly-blink.git\n```\n\nA list of all possible build targets can be displayed by Gradle with\n `gradle tasks`.\n\nIn a regular write-compile-test cycle use `gradle test`.\n\nA list of all project dependencies can be displayed by Gradle with\n `gradle dependencies`.\n\nIt is recommended to run Gradle with the\n [Build Daemon](http://docs.codehaus.org/display/GRADLE/Gradle+Build+Daemon)\n enabled to improve performance. e.g. `gradle --daemon` once the daemon is\n running it can be stopped with `gradle --stop`.\n\n## Contribute ##\n\nAll contributions to the documentation and the codebase are very welcome. Feel\n free to open issues on the tracker wherever the documentation needs improving.\n\nAlso, pull requests are always welcome! `:)`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovabyte%2Fgrizzly-blink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovabyte%2Fgrizzly-blink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovabyte%2Fgrizzly-blink/lists"}