# File lib/pilfer/server.rb, line 17
    def write(profile_data, profile_start, description, options = {})
      async   = (options[:submit] || :sync) == :async
      details = { 'hostname'     => Socket.gethostname,
                  'pid'          => Process.pid,
                  'description'  => description,
                  'file_sources' => file_sources_for_profile(profile_data) }

      payload = RbLineProfFormat.
                  profile_to_json(profile_data, profile_start).
                  merge(details)

      if async
        Thread.new(payload) do |payload|
          submit_profile payload
        end
      else
        submit_profile payload
      end
    end