red-channel-client: Move all functions to methods

Improve incapsulation.
The only not mechanical change is the addition of timer_add to
make timer settings a bit more type safe.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
This commit is contained in:
Frediano Ziglio 2019-05-20 15:39:15 +01:00 committed by Frediano Ziglio
parent 78193dff16
commit d8e5838054
2 changed files with 285 additions and 264 deletions

File diff suppressed because it is too large Load Diff

View File

@ -46,8 +46,6 @@ public:
bool monitor_latency=false);
virtual bool init();
RedChannelClientPrivate *priv = nullptr;
bool is_connected() const;
static void default_migrate(RedChannelClient *rcc);
bool is_waiting_for_migrate_data() const;
@ -161,9 +159,31 @@ public:
virtual void on_disconnect() {};
/* Private functions */
private:
void send_item(RedPipeItem *item);
void handle_outgoing();
void handle_incoming();
void handle_migrate_flush_mark();
void handle_migrate_data(uint32_t size, void *message);
inline bool prepare_pipe_add(RedPipeItem *item);
void pipe_add_before_pos(RedPipeItem *item, GList *pipe_item_pos);
void send_set_ack();
void send_migrate();
void send_empty_msg(RedPipeItem *base);
void msg_sent();
uint8_t *parse(uint8_t *message, size_t message_size,
uint16_t message_type,
size_t *size_out, message_destructor_t *free_message);
static void ping_timer(void *opaque);
static void connectivity_timer(void *opaque);
void send_ping();
void push_ping();
/* Private data */
private:
gint _ref = 1;
RedChannelClientPrivate *priv = nullptr;
};
#define SPICE_SERVER_ERROR spice_server_error_quark()