racketmq-2017/README.md

62 lines
2.2 KiB
Markdown
Raw Normal View History

2016-11-20 03:27:13 +00:00
# RacketMQ: An implementation of W3C WebSub
This is an implementation of a W3C WebSub Hub in Racket, using the
actor-style research language [Syndicate](http://syndicate-lang.org/).
## What is WebSub?
On the 20th of October 2016, the W3C released a First Public Working
Draft of (what was called at the time) PubSub, later renamed to
WebSub.
See the specification of the W3C WebSub protocol at
<https://www.w3.org/TR/pubsub/> (and track its development at
<https://github.com/w3c/pubsub>).
**N.B.: Those URLs will eventually have `websub` in place of `pubsub`.**
## Features
- Offers both *local topics*, topics whose canonical hub is this hub,
and *remote topics*, topics whose canonical hub is some other
("upstream") hub
- Support for polling and push-notification for remote topics, with
configurable poll interval
- Uses HTTP `Link` headers when retrieving a topic to determine
canonical hub and topic URLs; does not extract `link` elements from
any kind of XML or HTML document, nor does it implement
`.host-meta` discovery
- Support for `hub.secret` and `hub.lease_seconds` protocol
parameters
## Conformance
At the time of writing, no official list of conformance criteria
exists; however, there is a draft list of Candidate Recommendation
implementation criteria at <https://github.com/w3c/pubsub/issues/56>.
## Bug Reports
Please report issues using this project's Github issues page,
<https://github.com/tonyg/racketmq/issues>.
2015-09-30 16:17:50 +00:00
## License
2016-11-05 02:33:43 +00:00
Copyright © 2015, 2016 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
2015-09-30 16:17:50 +00:00
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program (see the files "lgpl.txt" and
"gpl.txt"). If not, see <http://www.gnu.org/licenses/>.