void SNetCloseInput(node_t* node) { input_arg_t *iarg = NODE_SPEC(node, input); landing_input_t *linp = DESC_LAND_SPEC(iarg->indesc, input); trace(__func__); assert(iarg->state == INPUT_terminating); iarg->state = INPUT_terminated; SNetDescDone(linp->outdesc); SNetInParserDestroy(); }
/** * This is the task doing the global input */ static void GlobInputTask(snet_entity_t *ent, void* data) { handle_t *hnd = (handle_t *)data; if(hnd->buffer != NULL) { int i; snet_stream_desc_t *outstream = SNetStreamOpen(hnd->buffer, 'w'); SNetInParserInit( hnd->file, hnd->labels, hnd->interfaces, outstream, ent); i = SNET_PARSE_CONTINUE; while(i != SNET_PARSE_TERMINATE){ i = SNetInParserParse(); } SNetInParserDestroy(); SNetStreamClose( outstream, false); } SNetMemFree(hnd); }