Buggy code with log object failure , TO DO: fix it
authoradash <adash>
Wed, 1 Nov 2006 19:03:15 +0000 (19:03 +0000)
committeradash <adash>
Wed, 1 Nov 2006 19:03:15 +0000 (19:03 +0000)
Robust/src/Tests/Logger.java
Robust/src/Tests/WebServerExample.java
Robust/src/Tests/WebServerSocket.java

index 9e85f5bf5e63ce1373c3517e97f9dddc17d8619d..25eda4ada8ff86d9e87291c1e7b177d344bf5e08 100644 (file)
@@ -1,24 +1,31 @@
 public class Logger extends FileOutputStream {
        //Logging flag
-       flag LogPending;
+       flag Initialize;
 
        //Constructor
        public Logger(){
+               System.printString(" Log Object Created\n");
                FileOutputStreamOpen("./Tests/htmlfiles/request.log");
        }
-
+/*
        public void logrequest(String filename){
                String request = new String("\nNew Request received: ");
                write(request.getBytes());
                write(filename.getBytes());
                flush();
+               close();
        }
 
        public void logrequest(){
                String request = new String("\nNew Request received: ");
+               write(request.getBytes());
                flush();
+               closerequest();
+       }
+*/
+       public void logtesting(){
+               System.printString(" testing log object\n");
        }
-
        public void closerequest() {
                close();        
        }
index 6d223a21a8cd93cc6eb9987a28340ebfb2cc97fe..6967e847d67779b4e620a2368dee81a9044c8e5d 100644 (file)
@@ -6,7 +6,7 @@ task Startup(StartupObject s {initialstate}) {
        System.printString("W> Starting\n");
        ServerSocket ss = new ServerSocket(9000);
        System.printString("W> Creating ServerSocket\n");
-       Logger log = new Logger() {!LogPending};
+       Logger log = new Logger() {Initialize};
        taskexit(s {!initialstate}); /* Turns initial state flag off, so this task won't refire */
 }
 
@@ -22,9 +22,10 @@ task AcceptConnection(ServerSocket ss{SocketPending}) {
 task ProcessRequest(WebServerSocket web{IOPending}) {
        System.printString("W> Inside ProcessRequest... \n");
        web.clientrequest();
-       taskexit(web {WritePending});
+       taskexit(web {WritePending, LogPending});
 }
 
+/* Do the WriteIO on server socket and send the requested file to Client*/
 task SendFile(WebServerSocket web{WritePending}) {
        System.printString("W> Inside SendFile ... \n");
        web.sendfile();
@@ -32,6 +33,12 @@ task SendFile(WebServerSocket web{WritePending}) {
        taskexit(web {!WritePending});
 }
 
-task LogFile( Logger log {LogPending}){
-       log.logrequest();
+/* Log the Client request*/
+task LogRequest(WebServerSocket web{LogPending}, Logger log{Initialize}) {
+//task LogRequest(Logger log{Initialize}) {
+//     System.printString("L > Inside logrequest");
+//     log.logrequest();
+       log.logtesting();
+       taskexit(web {!LogPending});
+//     taskexit(log {!Initialize});
 }
index 416ae280d46f24105cdbb9ea1ca7a01e148459f9..02d3d029bd480b14a1b9c6fddc81f5c227ffe6e3 100644 (file)
@@ -1,6 +1,6 @@
 public class WebServerSocket extends Socket {
        // Websocket flag
-       flag ReadPending;
+       flag LogPending;
        flag WritePending;
        String filename;
        
@@ -54,7 +54,6 @@ public class WebServerSocket extends Socket {
        //Discover what the client wants and handle their request       
        public int clientrequest(){
                byte b1[] = new byte[1024];
-               //while(read(b1)<0);
                read(b1);
                String clientreq = new String(b1);
                int index = clientreq.indexOf('/');