title: pyshark packets queue and pickle errors
body: <p>I am trying to use <a href="https://github.com/KimiNewt/pyshark" rel="nofollow"><code>pyshark</code></a> to capture packets live.  </p>
  
  <p>I get the following error when I try to get the packets from a <code>multiprocessing.Queue</code> or to <em>un-pickle</em> them:</p>
  
  <blockquote>
    <p>python2.7/site-packages/pyshark/packet/layer.py", line 48, in __getattr__<br>
    val = self.get_field_value(item, raw=self.raw_mode)<br>
    (... multiple times ...)<br>
    <strong>RuntimeError</strong>: maximum recursion depth exceeded while calling a Python object`.</p>
  </blockquote>
  
  <p>I suspect there is a problem when reconstructing the object whether it's retreived from the queue, or unpickled.<br>
  Surprisingly though, there are no errors when I am doing this with <code>Queue.Queue</code>.</p>
  
  <p>Here is the code used to reproduce this issue :</p>
  
  <pre><code>import pyshark
  import multiprocessing
  import Queue
  import cPickle as pickle
  
  # Capture on eth0
  interface = pyshark.LiveCapture(interface="eth0")
  
  def queue_test(queue):
      """ Puts captured packets in a queue, then un-queue them and display """
      for packet in interface.sniff_continuously(packet_count=5):
          queue.put(packet)
      while not queue.empty():
          packet = queue.get()
          print "Packet {} {}".format(packet.highest_layer,packet._packet_string)
  
  def pickle_test():
      """ Immediately pickle and unpickle the packet to display it"""
      for packet in interface.sniff_continuously(packet_count=5):
          pickled_packet = pickle.loads(pickle.dumps(packet, pickle.HIGHEST_PROTOCOL))
          print "Packet #{}, {} {}".format(pickled_packet.highest_layer,pickled_packet._packet_string)
  
  
  if __name__ == "__main__":
      normal_queue = Queue.Queue()
      process_queue = multiprocessing.Queue()
  
      # Runs fine
      queue_test(normal_queue)
  
      # Both crash with a RuntimeError
      queue_test(process_queue)
      pickle_test()
  </code></pre>
  
  <p>Why do I get RuntimeErrors and what can I do about it?<br>
  Am I doing something wrong or <code>pyshark</code> has a problem doing this?</p>