Add the abstract decoder and the ip_decoder class
Use the ip_decoder for the capture function