in dbus-java/src/main/java/org/freedesktop/dbus/connections/transports/AbstractTransport.java [126:158]
protected void setInputOutput(Socket _socket) {
try {
for( ISocketProvider provider : spiLoader ){
logger.debug( "Found ISocketProvider {}", provider );
provider.setFileDescriptorSupport(hasFileDescriptorSupport() && fileDescriptorSupported);
inputReader = provider.createReader(_socket);
outputWriter = provider.createWriter(_socket);
if( inputReader != null && outputWriter != null ){
logger.debug( "Using ISocketProvider {}", provider );
break;
}
}
} catch (ServiceConfigurationError _ex) {
logger.error("Could not initialize service provider.", _ex);
} catch (IOException _ex) {
logger.error("Could not initialize alternative message reader/writer.", _ex);
}
try{
if( inputReader == null || outputWriter == null ){
logger.debug( "No alternative ISocketProvider found, using built-in implementation. "
+ "inputReader = {}, outputWriter = {}",
inputReader,
outputWriter );
inputReader = new InputStreamMessageReader(_socket.getInputStream());
outputWriter = new OutputStreamMessageWriter(_socket.getOutputStream());
}
} catch (IOException _ex) {
logger.error("Could not initialize default message reader/writer.", _ex);
}
}