49 return DRIZZLE_RETURN_INVALID_ARGUMENT;
54 drizzle_return_t ret= con->state_stack[con->state_current - 1](con);
55 if (ret != DRIZZLE_RETURN_OK)
57 if (ret != DRIZZLE_RETURN_IO_WAIT && ret != DRIZZLE_RETURN_PAUSE &&
58 ret != DRIZZLE_RETURN_ERROR_CODE)
60 drizzle_con_close(con);
67 return DRIZZLE_RETURN_OK;
70 drizzle_return_t drizzle_state_packet_read(drizzle_con_st *con)
74 return DRIZZLE_RETURN_INVALID_ARGUMENT;
79 if (con->buffer_size < 4)
82 return DRIZZLE_RETURN_OK;
85 con->packet_size= drizzle_get_byte3(con->buffer_ptr);
87 if (con->packet_number != con->buffer_ptr[3])
90 "bad packet number:%u:%u", con->packet_number,
92 return DRIZZLE_RETURN_BAD_PACKET_NUMBER;
96 con->packet_size, con->packet_number);
101 con->buffer_size-= 4;
104 return DRIZZLE_RETURN_OK;
static void drizzle_state_pop(drizzle_con_st *con)
static bool drizzle_state_none(drizzle_con_st *con)
static void drizzle_state_push(drizzle_con_st *con, drizzle_state_fn *function)
void drizzle_set_error(drizzle_st *drizzle, const char *function, const char *format,...)
drizzle_return_t drizzle_state_loop(drizzle_con_st *con)
static void drizzle_log_debug(drizzle_st *drizzle, const char *format,...)