break;
case 1:
// monitor con coda unica condivisa
MonitorStreamQueue mq = new MonitorStreamQueue();
inputStream = new PushbackInputStream(new MonitorInputStream(is, mq), pushBackSize);
outputStream = new MonitorOutputStream(os, mq);
inputQueue = outputQueue = mq;
break;
case 2:
// monitor con code separate
MonitorInputStream mis = new MonitorInputStream(is);
MonitorOutputStream mos = new MonitorOutputStream(os);
inputStream = new PushbackInputStream(mis, pushBackSize);
outputStream = mos;
inputQueue = mis.getQueue();
outputQueue = mos.getQueue();
break;
case 3:
// monitor con code separate custom
inputStream = new PushbackInputStream(new MonitorInputStream(is, inputQueue), pushBackSize);
outputStream = new MonitorOutputStream(os, outputQueue);
break;
}
}