Separate logic for buffered and non-buffered channels