ObjectOutputStream os) throws IOException, ClassNotFoundException
{
SerializableFile requestedFile = (SerializableFile) is.readObject();
boolean addClientAsSource = is.readBoolean();
IndexedFile serverFile = getFileManager().retrieveIndexedFile(requestedFile);
if (serverFile == null)
{
os.write(ClientServerProtocol.PROTOCOL_FILES);
os.write(ClientServerProtocol.Files.OP_INVALID_FILE);
os.writeObject(requestedFile);
return;
}
os.write(ClientServerProtocol.PROTOCOL_FILES);
os.write(ClientServerProtocol.Files.OP_FILE_SOURCES);
os.writeObject(requestedFile);
serverFile.serializeStatus(connection.getClientId(), os);
if (addClientAsSource)
{
getFileManager().addSharedFile(requestedFile, connection.getClientId());
}