#client #sonic #api-bindings

sonic_client

a client lib for sonic search

3 releases

0.1.2 Apr 9, 2019
0.1.1 Apr 9, 2019
0.1.0 Apr 9, 2019

#1673 in #client

MPL-2.0 license

29KB
666 lines

sonic_client

Rust client for sonic, a Rust based search platform.

Note!

This lib is under development, apis could change very fast.

Usage

sonic_client = "0.1.1"
use sonic_client::SearchChan;

let mut s = SearchChan::new("127.0.0.1", 1491, "haha").expect("Connection error");
let handle = s.read();
assert_eq!("CONNECTED <sonic-server v1.1.8>\r\n", s.connect().unwrap());
thread::sleep(time::Duration::from_secs(4));
let r1 = s
    .query("helpdesk", "user:0dcde3a6", "gdpr", Some(50), None)
    .unwrap();
let r2 = s.ping().unwrap();
let r3 = s.quit().unwrap();
assert_eq!("EVENT", r1[0]);
assert_eq!("PONG\r\n", r2.recv().unwrap());
assert_eq!("ENDED quit\r\n", r3.recv().unwrap());
handle.join().expect("Failed to wait process");

Roadmap

  • Respect buffer 20000 limit
  • Better error parsing
  • pooling
  • better debug mode message

Dependencies

~0.6–1MB
~14K SLoC