Changeset 1097

Show
Ignore:
Timestamp:
06/19/08 16:42:40 (2 months ago)
Author:
kris
Message:

made some methods more efficient

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/mango/net/servlet/ServletContext.d

    r1090 r1097  
    336336        ***********************************************************************/ 
    337337 
    338         char[] getResourceAsPath (char[] path
     338        char[] getResourceAsPath (char[] path, char[] dst=null
    339339        { 
    340340                checkPath (path); 
    341                 return basePath ~ path; 
     341                auto base = basePath.length; 
     342                auto len = base + path.length; 
     343 
     344                if (dst.length < len) 
     345                    dst = new char[len]; 
     346 
     347                dst[0..base] = basePath; 
     348                dst[base..len] = path; 
     349                return dst [0 .. len]; 
    342350        } 
    343351 
  • trunk/mango/net/servlet/ServletResponse.d

    r1095 r1097  
    197197 
    198198                try { 
    199                     file.open (context.getResourceAsPath (path)); 
     199                    char[512] tmp = void; 
     200                    file.open (context.getResourceAsPath (path, tmp)); 
    200201 
    201202                    // set expected output size 
  • trunk/mango/net/servlet/model/IServletContext.d

    r939 r1097  
    6666        ***********************************************************************/ 
    6767 
    68         abstract char[] getResourceAsPath (char[] path); 
     68        abstract char[] getResourceAsPath (char[] path, char[] dst=null); 
    6969 
    7070        /*********************************************************************** 
  • trunk/mango/net/util/ServerThread.d

    r1047 r1097  
    6060        void execute () 
    6161        { 
    62                 thread.start()
     62                thread.start
    6363        } 
    6464 
     
    7676        private void run () 
    7777        { 
     78                auto log = server.getLogger; 
     79 
     80                // run until server dies 
    7881                while (Runtime.isHalting is false) 
    7982                       try { 
    80                            // wait for a socket connection 
    81                            auto sc = socket.accept; 
     83                           while (true) 
     84                                 { 
     85                                 // wait for a socket connection 
     86                                 auto sc = socket.accept; 
    8287 
    83                            // did we get a valid response? 
    84                            if (sc) 
    85                                // yep - process this request 
    86                                server.service (this, sc); 
    87                            else 
    88                               // server may be halting ... 
    89                               if (socket.isAlive) 
    90                                   server.getLogger.error ("Socket.accept failed"); 
     88                                 // did we get a valid response? 
     89                                 if (sc) 
     90                                     // yep - process this request 
     91                                     server.service (this, sc); 
     92                                 else 
     93                                    // server may be halting ... 
     94                                    if (socket.isAlive) 
     95                                        log.error ("Socket.accept failed"); 
     96                                 } 
     97                             } catch (IOException x) 
     98                                      log.error ("IOException: {}", x.toString); 
    9199 
    92                            } catch (IOException x) 
    93                                     server.getLogger.error ("IOException: "~x.toString); 
    94  
    95                              catch (Object x) 
    96                                     server.getLogger.fatal ("Exception: "~x.toString); 
    97         } 
     100                               catch (Object x) 
     101                                      log.fatal ("Exception: {}", x.toString); 
     102        }  
    98103}