better design of qloggersocketstream