* Copyright (C) 2003 Novell, Inc.
* Copyright (C) 2008 Red Hat, Inc.
* Copyright (C) 2021 Igalia S.L.
*/
#pragma once
#include "soup-connection.h"
#include "soup-message.h"
#include "soup-session-private.h"
G_BEGIN_DECLS
typedef enum {
SOUP_MESSAGE_STARTING,
SOUP_MESSAGE_CONNECTING,
SOUP_MESSAGE_CONNECTED,
SOUP_MESSAGE_TUNNELING,
SOUP_MESSAGE_READY,
SOUP_MESSAGE_RUNNING,
SOUP_MESSAGE_CACHED,
SOUP_MESSAGE_REQUEUED,
SOUP_MESSAGE_RESTARTING,
SOUP_MESSAGE_FINISHING,
SOUP_MESSAGE_FINISHED
} SoupMessageQueueItemState;
struct _SoupMessageQueueItem {
SoupSession *session;
SoupMessage *msg;
GMainContext *context;
GCancellable *cancellable;
GError *error;
GTask *task;
guint paused : 1;
guint io_started : 1;
guint async : 1;
guint connect_only : 1;
guint resend_count : 5;
int io_priority;
SoupMessageQueueItemState state;
SoupMessageQueueItem *related;
};
SoupMessageQueueItem *soup_message_queue_item_new (SoupSession *session,
SoupMessage *msg,
gboolean async,
GCancellable *cancellable);
SoupMessageQueueItem *soup_message_queue_item_ref (SoupMessageQueueItem *item);
void soup_message_queue_item_unref (SoupMessageQueueItem *item);
void soup_message_queue_item_cancel (SoupMessageQueueItem *item);
G_END_DECLS