code: def atlas_zonefile_push( my_hostport, peer_hostport, zonefile_data, timeout=None, peer_table=None ):
      
      if timeout is None:
          timeout = atlas_push_zonefiles_timeout()
     
      zonefile_hash = get_zonefile_data_hash(zonefile_data)
      zonefile_data_b64 = base64.b64encode( zonefile_data )
  
      host, port = url_to_host_port( peer_hostport )
      RPC = get_rpc_client_class()
      rpc = RPC( host, port, timeout=timeout, src=my_hostport )
  
      status = False
  
      assert not atlas_peer_table_is_locked_by_me()
  
      try:
          push_info = blockstack_put_zonefiles( peer_hostport, [zonefile_data_b64], timeout=timeout, my_hostport=my_hostport, proxy=rpc )
          if 'error' not in push_info:
              if push_info['saved'] == 1:
                  # woo!
                  saved = True
  
      except (socket.timeout, socket.gaierror, socket.herror, socket.error), se:
          atlas_log_socket_error( "put_zonefiles(%s)" % peer_hostport, peer_hostport, se)
      
      except AssertionError, ae:
          log.exception(ae)
          log.error("Invalid server response from %s" % peer_hostport )
  
      except Exception, e:
          log.exception(e)
          log.error("Failed to push zonefile %s to %s" % (zonefile_hash, peer_hostport))
  
      with AtlasPeerTableLocked(peer_table) as ptbl:
          atlas_peer_update_health( peer_hostport, status, peer_table=ptbl )
  
      return status
docs: Push the given zonefile to the given peer
      Return True on success
      Return False on failure