Struct nostr_types::Filter
source · pub struct Filter {
pub ids: Vec<IdHex>,
pub authors: Vec<PublicKeyHex>,
pub kinds: Vec<EventKind>,
pub tags: BTreeMap<char, Vec<String>>,
pub since: Option<Unixtime>,
pub until: Option<Unixtime>,
pub limit: Option<usize>,
}
Expand description
Filter which specify what events a client is looking for
Fields§
§ids: Vec<IdHex>
Events which match these ids
Events which match these authors
kinds: Vec<EventKind>
Events which match these kinds
Events which match the given tags
since: Option<Unixtime>
Events occuring after this date
until: Option<Unixtime>
Events occuring before this date
limit: Option<usize>
A limit on the number of events to return in the initial query
Implementations§
source§impl Filter
impl Filter
Add a PublicKey to the filter
Delete a PublicKey from the filter
sourcepub fn add_event_kind(&mut self, event_kind: EventKind)
pub fn add_event_kind(&mut self, event_kind: EventKind)
Add an EventKind to the filter
sourcepub fn del_event_kind(&mut self, event_kind: EventKind)
pub fn del_event_kind(&mut self, event_kind: EventKind)
Delete an EventKind from the filter
sourcepub fn add_tag_value(&mut self, letter: char, value: String)
pub fn add_tag_value(&mut self, letter: char, value: String)
Add a Tag value to a filter
sourcepub fn del_tag_value(&mut self, letter: char, value: String)
pub fn del_tag_value(&mut self, letter: char, value: String)
Add a Tag value from a filter
sourcepub fn set_tag_values(&mut self, letter: char, values: Vec<String>)
pub fn set_tag_values(&mut self, letter: char, values: Vec<String>)
Set all values for a given tag
sourcepub fn clear_tag_values(&mut self, letter: char)
pub fn clear_tag_values(&mut self, letter: char)
Remove all Tag values of a given kind from a filter
Convert filter tags into a Vec<Tag>
sourcepub fn event_matches(&self, e: &Event) -> bool
pub fn event_matches(&self, e: &Event) -> bool
Does the event match the filter?
Trait Implementations§
source§impl<'de> Deserialize<'de> for Filter
impl<'de> Deserialize<'de> for Filter
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for Filter
impl PartialEq for Filter
source§impl<'a_, C_: Context> Readable<'a_, C_> for Filter
impl<'a_, C_: Context> Readable<'a_, C_> for Filter
fn read_from<R_: Reader<'a_, C_>>(_reader_: &mut R_) -> Result<Self, C_::Error>
fn minimum_bytes_needed() -> usize
fn read_from_buffer_with_ctx( context: C, buffer: &'a [u8] ) -> Result<Self, <C as Context>::Error>
fn read_with_length_from_buffer_with_ctx( context: C, buffer: &'a [u8] ) -> (Result<Self, <C as Context>::Error>, usize)
fn read_from_buffer_copying_data_with_ctx( context: C, buffer: &[u8] ) -> Result<Self, <C as Context>::Error>
fn read_with_length_from_buffer_copying_data_with_ctx( context: C, buffer: &[u8] ) -> (Result<Self, <C as Context>::Error>, usize)
fn read_with_length_from_buffer_copying_data_with_ctx_mut( context: &mut C, buffer: &[u8] ) -> (Result<Self, <C as Context>::Error>, usize)
fn read_from_stream_unbuffered_with_ctx<S>(
context: C,
stream: S
) -> Result<Self, <C as Context>::Error>where
S: Read,
fn read_from_stream_buffered_with_ctx<S>(
context: C,
stream: S
) -> Result<Self, <C as Context>::Error>where
S: Read,
fn read_from_file_with_ctx( context: C, path: impl AsRef<Path> ) -> Result<Self, <C as Context>::Error>
source§impl<C_: Context> Writable<C_> for Filter
impl<C_: Context> Writable<C_> for Filter
fn write_to<T_: ?Sized + Writer<C_>>( &self, _writer_: &mut T_ ) -> Result<(), C_::Error>
fn write_to_buffer_with_ctx( &self, context: C, buffer: &mut [u8] ) -> Result<(), <C as Context>::Error>
fn write_to_buffer_with_ctx_mut( &self, context: &mut C, buffer: &mut [u8] ) -> Result<(), <C as Context>::Error>
fn write_to_vec_with_ctx( &self, context: C ) -> Result<Vec<u8>, <C as Context>::Error>
fn write_to_vec_with_ctx_mut( &self, context: &mut C ) -> Result<Vec<u8>, <C as Context>::Error>
fn write_to_stream_with_ctx<S>(
&self,
context: C,
stream: S
) -> Result<(), <C as Context>::Error>where
S: Write,
fn write_to_file_with_ctx( &self, context: C, path: impl AsRef<Path> ) -> Result<(), <C as Context>::Error>
fn bytes_needed(&self) -> Result<usize, <C as Context>::Error>
impl Eq for Filter
impl StructuralPartialEq for Filter
Auto Trait Implementations§
impl RefUnwindSafe for Filter
impl Send for Filter
impl Sync for Filter
impl Unpin for Filter
impl UnwindSafe for Filter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more