X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fsrc%2FBenchmarks%2FSpider%2FBR%2FSpider.java;fp=Robust%2Fsrc%2FBenchmarks%2FSpider%2FBR%2FSpider.java;h=0000000000000000000000000000000000000000;hp=e0b6eddb48fe2697a8f0b3064d018c96cf63aee9;hb=refs%2Ftags%2Fbuildscript;hpb=2f2cbbbc9385b82d891fabf62ab7e0c5cf364658 diff --git a/Robust/src/Benchmarks/Spider/BR/Spider.java b/Robust/src/Benchmarks/Spider/BR/Spider.java deleted file mode 100644 index e0b6eddb..00000000 --- a/Robust/src/Benchmarks/Spider/BR/Spider.java +++ /dev/null @@ -1,103 +0,0 @@ -task Startup(StartupObject s {initialstate}) { - String firstmachine=s.parameters[0]; - String firstpage=s.parameters[1]; - QueryList ql=new QueryList() {initialized}; - Query firstquery=new Query(firstmachine, firstpage){}; - taskexit(s{!initialstate}); -} - -task requestQuery(Query q{!requested}) { - String hostname=q.getHostName(); - q.makeConnection(); - StringBuffer req=new StringBuffer("GET "); - req.append("/"); - req.append(q.getPath()); - req.append(" HTTP/1.1\r\nHost:"); - req.append(q.getHostName()); - req.append("\r\n\r\n"); - q.write(req.toString().getBytes()); - taskexit(q{requested}); -} - -task readResponse(Query q{requested && ! received && IOPending}) { - // state 0 - nothing - // state 1 - \r - // state 2 - \r\n - // state 3 - \r\n\r - // state 4 - \r\n\r\n - if (q.state<4) { - if (q.state==0) { - byte[] b=new byte[1]; - int numchars=q.read(b); - if ((numchars==1) && (b[0]=='\r')) - q.state++; - } else if (q.state==1) { - byte[] b=new byte[1]; - int numchars=q.read(b); - if (numchars==1) { - if (b[0]=='\n') - q.state++; - else - q.state=0; - } - } else if (q.state==2) { - byte[] b=new byte[1]; - int numchars=q.read(b); - if (numchars==1) { - if (b[0]=='\r') - q.state++; - else - q.state=0; - } - } else if (q.state==3) { - byte[] b=new byte[1]; - int numchars=q.read(b); - if (numchars==1) { - if (b[0]=='\n') - q.state++; - else - q.state=0; - } - } - } else { - byte[] buffer=new byte[1024]; - int numchars=q.read(buffer); - if (numchars==0) { - q.close(); - taskexit(q{received}); - } else { - String curr=(new String(buffer)).subString(0,numchars); - q.response.append(curr); - } - } -} - -task processPage(Query q{received&&!processed}, QueryList ql{initialized}) { - int index=0; - String href=new String("href=\""); - String searchstr=q.response.toString(); - boolean cont=true; - q.outputFile(); - - while(cont) { - int mindex=searchstr.indexOf(href,index); - if (mindex!=-1) { - - int endquote=searchstr.indexOf('"', mindex+href.length()); - if (endquote!=-1) { - String match=searchstr.subString(mindex+href.length(), endquote); - String match2=q.makewebcanonical(match); - if (match2!=null&&!ql.checkQuery(match2)) { - ql.addQuery(match2); - System.printString(q.getHostName(match)); - System.printString(" "); - System.printString(q.getPathName(match)); - System.printString("\n"); - Query newq=new Query(q.getHostName(match), q.getPathName(match)){}; - } - index=endquote; - } else cont=false; - } else cont=false; - } - taskexit(q{processed}); -}