#![Handle Http Request Indirectly] Scheduler:Scheduler[t] HttpCommTask:Task HttpServer:GeneralServer /HttpHandler:Handler /HttpRequest:Request /HttpResponse:Response /GeneralServerJob:Job Dispatcher:Dispatcher[t] Scheduler:HttpCommTask.processRead HttpCommTask:request=HttpServer.createRequest HttpServer:HttpRequest.new HttpCommTask:handler=HttpServer.createHandler HttpServer:HttpHandler.new HttpCommTask:HttpServer.handleRequest HttpServer:HttpServer.registerHandler& HttpServer:job=HttpHandler.createJob HttpHandler:GeneralServerJob.new HttpServer:HttpServer.registerJob HttpServer:Dispatcher.addJob& Dispatcher:GeneralServerJob.work GeneralServerJob:HttpHandler.execute HttpHandler:HttpResponse.new Dispatcher:GeneralServerJob.cleanup GeneralServerJob:HttpServer.jobDone HttpServer:HttpCommTask.signal Dispatcher:GeneralServerJob.destroy& Scheduler:HttpCommTask.handleAsync HttpCommTask:HttpServer.handleAsync HttpServer:response=HttpHandler.getResponse HttpServer:HttpCommTask.handleResponse HttpServer:HttpServer.shutdownHandlerByTask HttpServer:HttpHandler.destroy HttpHandler:HttpRequest.destroy HttpHandler:HttpResponse.destroy