}
}
-struct SipCodec {
+pub struct SipCodec {
message: Option<PartialMessage>,
headers: Vec<UnparsedLine>,
top_line: Option<UnparsedLine>,
}
impl SipCodec {
- fn new() -> SipCodec {
+ pub fn new() -> SipCodec {
SipCodec {
message: None,
headers: Vec::new(),
}
#[derive(Debug)]
-enum Message {
+pub enum Message {
Request(Request),
Response(Response),
}
#[derive(Debug)]
-struct Response {
+pub struct Response {
status_line: (StatusLine, UnparsedLine),
headers: Vec<(Header, UnparsedLine)>,
body: Option<BytesMut>,
}
#[derive(Debug)]
-struct Request {
+pub struct Request {
request_line: (RequestLine, UnparsedLine),
headers: Vec<(Header, UnparsedLine)>,
body: Option<BytesMut>,
}
}
-struct Sip {
+pub struct Sip {
listeners: Vec<TcpListener>,
}
}
impl Sip {
- fn new() -> Sip {
+ pub fn new() -> Sip {
Sip { listeners: Vec::new() }
}
}
}
-named!(unreserved<&[u8], u8>, take_1!(is_unreserved));
named!(user_unreserved<&[u8], u8>, take_1!(is_user_unreserved));
named!(password_unreserved<&[u8], u8>, take_1!(is_password_unreserved));
response_digest));
named!(algorithm<Algorithm>, alt!(
- tag!("MD5") => { |_| Algorithm::MD5 } |
- tag!("MD5-sess") => { |_| Algorithm::MD5_sess } |
+ tag!("MD5") => { |_| Algorithm::Md5 } |
+ tag!("MD5-sess") => { |_| Algorithm::Md5Session } |
token => { |t| Algorithm::Token(t) }
));
pub enum Uri {
Sip(SipUri),
Sips(SipUri),
- Tel(Vec<u8>),
- Urn(Vec<u8>),
+// Not currently implemented
+// Tel(Vec<u8>),
+// Urn(Vec<u8>),
Generic { scheme: Scheme, path: UriPath },
}
#[derive(Debug)]
pub enum Algorithm {
- MD5,
- MD5_sess,
+ Md5,
+ Md5Session,
Token(Vec<u8>),
}