Lines Matching refs:side

77 update_write_block (Side   *side)  in update_write_block()  argument
79 gboolean old_val = side->write_side_blocked; in update_write_block()
80 gboolean val = (side->read_side != NULL && side->buffer.size == 0); in update_write_block()
81 side->write_side_blocked = val; in update_write_block()
84 gsk_io_unblock_write (side->write_side); in update_write_block()
86 gsk_io_block_write (side->write_side); in update_write_block()
91 update_read_block (Side *side) in update_read_block() argument
93 gboolean was_throttled = side->throttled; in update_read_block()
94 gboolean old_val = side->read_side_blocked; in update_read_block()
95 gboolean xfer_blocked = side->xferred_in_last_second >= side->max_xfer_per_second; in update_read_block()
96 gboolean buf_blocked = side->buffer.size >= side->max_buffer; in update_read_block()
99 side->throttled = xfer_blocked && !buf_blocked; in update_read_block()
100 side->read_side_blocked = val; in update_read_block()
102 if (side->throttled && !was_throttled) in update_read_block()
105 GSK_LIST_APPEND (GET_THROTTLED_LIST (), side); in update_read_block()
107 else if (!side->throttled && was_throttled) in update_read_block()
110 GSK_LIST_REMOVE (GET_THROTTLED_LIST (), side); in update_read_block()
114 gsk_io_unblock_read (side->read_side); in update_read_block()
116 gsk_io_block_read (side->read_side); in update_read_block()
135 Side *side = data; in handle_side_writable() local
137 guint written = gsk_stream_write_buffer (stream, &side->buffer, &error); in handle_side_writable()
145 side->total_written += written; in handle_side_writable()
146 update_write_block (side); in handle_side_writable()
147 update_read_block (side); in handle_side_writable()
148 if (written == 0 && side->read_side == NULL && side->buffer.size == 0) in handle_side_writable()
150 update_write_block (side); in handle_side_writable()
152 gsk_io_write_shutdown (side->write_side, NULL); in handle_side_writable()
154 gsk_io_shutdown (GSK_IO (side->write_side), NULL); in handle_side_writable()
163 Side *side = data; in handle_side_write_shutdown() local
164 if (side->buffer.size > 0) in handle_side_write_shutdown()
166 if (side->read_side) in handle_side_write_shutdown()
169 gsk_io_read_shutdown (side->read_side, NULL); in handle_side_write_shutdown()
171 gsk_io_shutdown (GSK_IO (side->read_side), NULL); in handle_side_write_shutdown()
179 Side *side = data; in handle_side_write_destroy() local
180 g_object_unref (side->write_side); in handle_side_write_destroy()
181 side->write_side = NULL; in handle_side_write_destroy()
182 connection_unref (side->connection); in handle_side_write_destroy()
189 Side *side = data; in handle_side_readable() local
195 if (cur_sec == side->last_xfer_second) in handle_side_readable()
197 max_read = side->max_xfer_per_second - side->xferred_in_last_second; in handle_side_readable()
201 side->xferred_in_last_second = 0; in handle_side_readable()
202 side->last_xfer_second = cur_sec; in handle_side_readable()
203 max_read = side->max_xfer_per_second; in handle_side_readable()
205 if (max_read + side->buffer.size > side->max_buffer) in handle_side_readable()
207 if (side->buffer.size > side->max_buffer) in handle_side_readable()
210 max_read = side->max_buffer - side->buffer.size; in handle_side_readable()
222 gsk_buffer_append (&side->buffer, tmp, nread); in handle_side_readable()
226 side->total_read += nread; in handle_side_readable()
228 side->xferred_in_last_second += nread; in handle_side_readable()
229 g_assert (side->xferred_in_last_second <= side->max_xfer_per_second); in handle_side_readable()
230 update_write_block (side); in handle_side_readable()
231 update_read_block (side); in handle_side_readable()
245 Side *side = data; in handle_side_read_destroy() local
246 g_object_unref (side->read_side); in handle_side_read_destroy()
247 side->read_side = NULL; in handle_side_read_destroy()
248 if (side->buffer.size == 0 && side->write_side != NULL) in handle_side_read_destroy()
250 update_write_block (side); in handle_side_read_destroy()
252 gsk_io_write_shutdown (side->write_side, NULL); in handle_side_read_destroy()
254 gsk_io_shutdown (GSK_IO (side->write_side), NULL); in handle_side_read_destroy()
256 connection_unref (side->connection); in handle_side_read_destroy()
260 side_init (Side *side, in side_init() argument
266 side->connection = conn; in side_init()
267 side->read_side = read_side; in side_init()
268 side->write_side = write_side; in side_init()
269 side->read_side_blocked = FALSE; in side_init()
270 side->write_side_blocked = FALSE; in side_init()
271 side->throttled = FALSE; in side_init()
272 side->next_throttled = side->prev_throttled = NULL; in side_init()
273 side->max_xfer_per_second = max_xfer_per_second; in side_init()
274 side->last_xfer_second = gsk_main_loop_default ()->current_time.tv_sec; in side_init()
275 side->xferred_in_last_second = 0; in side_init()
276 gsk_buffer_construct (&side->buffer); in side_init()
277 side->max_buffer = max_xfer_per_second; in side_init()
278 side->total_read = 0; in side_init()
279 side->total_written = 0; in side_init()
287 side, in side_init()
294 side, in side_init()
385 dump_side_to_buffer (Side *side, GskBuffer *out) in dump_side_to_buffer() argument
388 side->read_side ? "" : "NOT ", in dump_side_to_buffer()
389 side->throttled ? " [throttled]" : in dump_side_to_buffer()
390 side->read_side_blocked ? " [blocked]" : "", in dump_side_to_buffer()
391 side->write_side ? "" : "NOT ", in dump_side_to_buffer()
392 side->write_side_blocked ? " [blocked]" : "", in dump_side_to_buffer()
393 side->buffer.size, in dump_side_to_buffer()
394 side->total_read, side->total_written); in dump_side_to_buffer()