예제 #1
0
void FlowWriter::manage(Invoker& invoker) {
	if(!consumed() && !_band.failed()) {
		try {
			if(_trigger.raise())
				raiseMessage();
		} catch(Exception& ex) {
			fail("FlowWriter can't deliver its data, "+ex.displayText());
			throw;
		}
	}
	if(critical && _closed)
		throw Exception("Main flow writer closed, session is closing");
	flush();
}
예제 #2
0
void RTMFPWriter::manage(Exception& ex, Invoker& invoker) {
	if(!consumed() && !_band.failed()) {
		
		if(_trigger.raise(ex))
			raiseMessage();

		if (ex) {
			fail("RTMFPWriter can't deliver its data, ",ex.error());
			return;
		}
	}
	if(critical && state()==CLOSED) {
		ex.set(Exception::NETWORK, "Main flow writer closed, session is closing");
		return;
	}
	flush(false);
}