Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package divconq.ctp.net;
  
 
 public class CtpReadWork extends FuncCallback<IFileStoreFileimplements IWork {
 	protected CtpAdapter adapter = null;
 	protected IFileSelector selector = null;
 	protected ChannelFutureListener future = null;
 	
 	public void setAdapter(CtpAdapter v) {
 		this. = v;
 	}
 	
 	public void setSelector(IFileSelector v) {
 		this. = v;
 		this. = v.path();
 	}
 	
 	public void setFuture(ChannelFutureListener v) {
 		this. = v;
 	}
 	
 	public void run(TaskRun trun) {
 		if (this. instanceof ISyncFileCollection) {
 			// TODO optimize, fill a whole buffer before writing
 			
 			
 			if (res.hasErrors()) {
 				// TODO what to do here...ABORT
 				..println("abort - could not select next file");
 				return;
 			}
 			
 			this.setResult(res.getResult());
 			this.callback();
 		}
 		else {
 			this..next(this);
 		}
 	}
 
 	public void callback() {
 		try {
 			// TODO if errors...ABORT
 			
 			if (this.isEmptyResult()) {
 				OperationContext.get().getTaskRun().complete();
 				return;
 			}
 			
 			IFileStoreFile file = this.getResult();
 			
 			BlockCommand cmd = new BlockCommand();
 			
 			FileSelection selection = this..selection();
 			
 			// TODO if CTP_F_ATTR_PREFERED then use session settings - from adapter?
 			
 				cmd.setPath(file.path().subpath(this.).toString());
 			
 				cmd.setIsFolder(file.isFolder());
 			
 				cmd.setSize(file.getSize());
 			
 			
 			
 			
 			if (selection.hasAttr(.)) {
 				// send headers
				// send block 1
				cmd = new BlockCommand();
				cmd.setData(d);
				// progress 1
				// send block 2
				cmd = new BlockCommand();
				cmd.setData(d);
				// progress 2
				// send block 3
				cmd = new BlockCommand();
				cmd.setData(d);
				// progress 3
				// send end
				cmd = new BlockCommand();
				cmd.setEof(true);
			}
			else {
				cmd.setEof(true);
			}
		}
		catch (Exception x) {
			..println("Ctp-F Server error: " + x);
		}
	}
New to GrepCode? Check out our FAQ X