@ -105,15 +99,13 @@ Whenever a change is detected it will send a message to whichever process is lis
# Start the background listener
# Start the background listener
ExW3.EventListener.start_link
ExW3.EventListener.start_link
# Assuming we have already setup our contract called EventTester
# Assuming we have already registered our contract called :EventTester
# We can then add a filter for the event listener to look out for
# We can then add a filter for the event listener to look out for by passing in the event name, and the process we want to receive the messages when an event is triggered.
# by passing in the event name, and the process we want to receive the messages when an event is triggered.
# For now we are going to use the main process, however, we could pass in a pid of a different process.
# For now we are going to use the main process, however, we could pass in a pid of a different process.
# We can then wait for the event. Using the typical receive keyword we wait for the first instance
# We can then wait for the event. Using the typical receive keyword we wait for the first instance of the event, and then continue with the rest of the code. This is useful for testing.
# of the event, and then continue with the rest of the code. This is useful for testing.
receive do
receive do
{:event, {filter_id, data}} -> IO.inspect data
{:event, {filter_id, data}} -> IO.inspect data
end
end
@ -121,7 +113,7 @@ end
# We can then uninstall the filter after we are done using it
# We can then uninstall the filter after we are done using it
ExW3.uninstall_filter(filter_id)
ExW3.uninstall_filter(filter_id)
# ExW3 also provides a helper method to continuously listen for events.
# ExW3 also provides a helper method to continuously listen for events, with the `listen` method.
# One use is to combine all of our filters with pattern matching
# One use is to combine all of our filters with pattern matching