[−][src]Crate pubnub_hyper
PubNub Hyper
A PubNub client using hyper
and tokio
to provide an
ultra-fast, incredibly reliable message transport over the PubNub edge
network.
Uses pubnub-core
under the hood.
Example
use futures_util::stream::StreamExt; use pubnub_hyper::runtime::tokio_global::TokioGlobal; use pubnub_hyper::transport::hyper::Hyper; use pubnub_hyper::{core::data::channel, core::json::object, Builder}; let transport = Hyper::new() .publish_key("demo") .subscribe_key("demo") .build()?; let mut pubnub = Builder::new() .transport(transport) .runtime(TokioGlobal) .build(); let message = object! { "username" => "JoeBob", "content" => "Hello, world!", }; let channel_name: channel::Name = "my-channel".parse().unwrap(); let mut stream = pubnub.subscribe(channel_name.clone()).await; let timetoken = pubnub.publish(channel_name, message.clone()).await?; let received = stream.next().await; assert_eq!(received.unwrap().json, message);
Re-exports
pub use crate::runtime::tokio_global::TokioGlobal as DefaultRuntime; |
pub use crate::transport::hyper::Hyper as DefaultTransport; |
Modules
core | Re-export core for ease of use. |
runtime | Runtime implementations. |
transport | Tranport implementations. |
Macros
encode_json | Encodes JSON into a urlencoded coding. |
Structs
Builder | PubNub Client Builder |
Type Definitions
PubNub | PubNub client bound to hyper transport and tokio runtime. |