Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add mutable access to Message fields #1118

Merged
merged 3 commits into from May 20, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
20 changes: 20 additions & 0 deletions crates/proto/src/op/message.rs
Expand Up @@ -406,13 +406,23 @@ impl Message {
&self.queries
}

/// Provides mutable access to `queries`
pub fn queries_mut(&mut self) -> &mut Vec<Query> {
&mut self.queries
}

/// ```text
/// Answer Carries RRs which directly answer the query.
/// ```
pub fn answers(&self) -> &[Record] {
&self.answers
}

/// Provides mutable access to `answers`
pub fn answers_mut(&mut self) -> &mut Vec<Record> {
&mut self.answers
}

/// Removes all the answers from the Message
pub fn take_answers(&mut self) -> Vec<Record> {
mem::replace(&mut self.answers, vec![])
Expand All @@ -427,6 +437,11 @@ impl Message {
&self.name_servers
}

/// Provides mutable access to `name_servers`
pub fn name_servers_mut(&mut self) -> &mut Vec<Record> {
&mut self.name_servers
}

/// Remove the name servers from the Message
pub fn take_name_servers(&mut self) -> Vec<Record> {
mem::replace(&mut self.name_servers, vec![])
Expand All @@ -440,6 +455,11 @@ impl Message {
&self.additionals
}

/// Provides mutable access to `additionals`
pub fn additionals_mut(&mut self) -> &mut Vec<Record> {
&mut self.additionals
}

/// Remove the additional Records from the Message
pub fn take_additionals(&mut self) -> Vec<Record> {
mem::replace(&mut self.additionals, vec![])
Expand Down