• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/barrelfish/

Lines Matching defs:mc

120  * \param mc  Storrage for the multihop channel state
125 errval_t multihop_chan_bind(struct multihop_chan *mc,
132 mc->bind_continuation = cont;
133 mc->iref = iref;
134 mc->connstate = MULTIHOP_BIND_WAIT;
138 mc, waitset, DEFAULT_LMP_BUF_WORDS);
151 struct multihop_chan *mc = st;
156 mc->bind_continuation.handler(mc->bind_continuation.st, err, NULL);
158 mc->monitor_binding = monitor_binding;
161 mc->my_vci = multihop_chan_mapping_insert(mc);
164 multihop_chan_bind_cont(mc);
177 struct multihop_chan *mc = st;
178 struct monitor_binding *monitor_binding = mc->monitor_binding;
184 NOP_CONT, mc->iref, mc->my_vci);
194 mc->bind_continuation.handler(mc->bind_continuation.st,
211 struct multihop_chan *mc = multihop_chan_mappings_lookup(ingoing_vci);
213 assert(mc->connstate == MULTIHOP_BIND_WAIT);
214 assert(mc->bind_continuation.handler != NULL);
217 mc->direction = 1;
218 mc->unacked_received = 0;
219 mc->unacked_send = 0;
220 mc->vci = outgoing_vci;
221 mc->connstate = MULTIHOP_CONNECTED;
222 mc->bind_continuation.handler(mc->bind_continuation.st, msgerr, mc);
224 mc->connstate = MULTIHOP_DISCONNECTED;
225 multihop_chan_mapping_delete(mc->my_vci);
226 mc->bind_continuation.handler(mc->bind_continuation.st, msgerr, mc);
227 free(mc);
244 struct multihop_chan *mc;
286 void multihop_chan_send_bind_reply(struct multihop_chan *mc, errval_t msgerr,
297 assert(mc != NULL);
300 assert(mc == NULL);
303 reply_state->mc = mc;
309 reply_state->mc->my_vci = multihop_chan_mapping_insert(mc);
310 reply_state->args.sender_vci = reply_state->mc->my_vci;
347 reply_state->mc->monitor_binding = monitor_binding;
348 reply_state->mc->direction = 2;
349 reply_state->mc->unacked_received = 0;
350 reply_state->mc->unacked_send = 0;
351 reply_state->mc->connstate = MULTIHOP_CONNECTED;
403 * \param mc pointer to the multi-hop channel
405 static void multihop_send_dummy_message(struct multihop_chan *mc)
407 assert(mc->connstate == MULTIHOP_CONNECTED);
411 MULTIHOP_DEBUG("sending dummy message, ack %d...\n", mc->unacked_received);
414 struct monitor_binding *monitor_binding = mc->monitor_binding;
418 mc->vci, mc->direction, MULTIHOP_MESSAGE_FLAG_DUMMY,
419 mc->unacked_received, (uint8_t *) mc, 1);
423 mc->unacked_received = 0;
436 * \param mc pointer to the multi-hop channel
442 errval_t multihop_send_message(struct multihop_chan *mc,
447 struct monitor_binding *monitor_binding = mc->monitor_binding;
448 assert(mc->connstate == MULTIHOP_CONNECTED);
452 if (mc->unacked_send == MULTIHOP_WINDOW_SIZE) {
458 _continuation, mc->vci, mc->direction,
459 MULTIHOP_MESSAGE_FLAG_PAYLOAD, mc->unacked_received,
465 mc->unacked_received = 0;
466 mc->unacked_send = mc->unacked_send + 1;
475 * \param mc pointer to the multi-hop channel
480 errval_t multihop_send_capability(struct multihop_chan *mc,
486 assert(mc->connstate == MULTIHOP_CONNECTED);
487 struct monitor_binding *mon_binding = mc->monitor_binding;
491 mc->vci, mc->direction,
523 struct multihop_chan *mc = multihop_chan_mappings_lookup(vci);
524 assert(mc->connstate == MULTIHOP_CONNECTED);
529 assert(ack <= mc->unacked_send);
530 mc->unacked_send = mc->unacked_send - ack;
535 mc->rx_handler.handler(mc->rx_handler.arg, NULL, 0);
542 mc->unacked_received = mc->unacked_received + 1;
543 assert(ack <= mc->unacked_send);
544 mc->unacked_send = mc->unacked_send - ack;
548 mc->rx_handler.handler(mc->rx_handler.arg, buf, buflen);
551 if (mc->unacked_received
553 multihop_send_dummy_message(mc);
573 struct multihop_chan *mc = multihop_chan_mappings_lookup(vci);
574 assert(mc->connstate == MULTIHOP_CONNECTED);
575 assert(mc->cap_handlers.cap_receive_handler != NULL);
578 mc->cap_handlers.cap_receive_handler(mc->cap_handlers.st, msgerr, cap, capid);
590 * \param mc pointer to the multi-hop channel
593 errval_t multihop_chan_change_waitset(struct multihop_chan *mc,
598 err = flounder_support_change_monitor_waitset(mc->monitor_binding, ws);
610 errval_t multihop_chan_register_send(struct multihop_chan *mc,
613 return mc->monitor_binding->register_send(mc->monitor_binding, ws, cont);
619 */bool multihop_chan_is_window_full(struct multihop_chan *mc)
622 return mc->unacked_send == MULTIHOP_WINDOW_SIZE;