Join with aliencode
[ntk/apt.git] / methods / http.h
index 62f329e..2569c29 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
-// Description                                                         /*{{{*/
-// $Id: http.h,v 1.3 1998/11/04 07:10:50 jgg Exp $
+// Description                                                         /*{{{*/// $Id: http.h,v 1.9 2001/02/20 07:03:18 jgg Exp $
+// $Id: http.h,v 1.9 2001/02/20 07:03:18 jgg Exp $
 /* ######################################################################
 
    HTTP Aquire Method - This is the HTTP aquire method for APT.
@@ -88,6 +88,10 @@ struct ServerState
    bool HaveContent;
    enum {Chunked,Stream,Closes} Encoding;
    enum {Header, Data} State;
+   bool Persistent;
+   
+   // This is a Persistent attribute of the server itself.
+   bool Pipeline;
    
    HttpMethod *Owner;
    
@@ -100,7 +104,8 @@ struct ServerState
    bool HeaderLine(string Line);
    bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;};
    void Reset() {Major = 0; Minor = 0; Result = 0; Size = 0; StartPos = 0;
-                 Encoding = Closes; time(&Date); ServerFd = -1;};
+                 Encoding = Closes; time(&Date); ServerFd = -1; 
+                 Pipeline = true;};
    int RunHeaders();
    bool RunData();
    
@@ -118,6 +123,9 @@ class HttpMethod : public pkgAcqMethod
    bool Flush(ServerState *Srv);
    bool ServerDie(ServerState *Srv);
    int DealWithHeaders(FetchResult &Res,ServerState *Srv);
+
+   virtual bool Fetch(FetchItem *);
+   virtual bool Configuration(string Message);
    
    // In the event of a fatal signal this file will be closed and timestamped.
    static string FailFile;
@@ -126,18 +134,17 @@ class HttpMethod : public pkgAcqMethod
    static void SigTerm(int);
    
    public:
-   friend ServerState;
+   friend class ServerState;
 
-   int Depth;
    FileFd *File;
+   ServerState *Server;
    
    int Loop();
    
-   HttpMethod() : pkgAcqMethod("1.2",SingleInstance | Pipeline | SendConfig) 
+   HttpMethod() : pkgAcqMethod("1.2",Pipeline | SendConfig) 
    {
-      Depth = 0;
       File = 0;
-      Depth = 0;
+      Server = 0;
    };
 };