瀏覽代碼

Cleanup AbstractCommand take 2

Decided to keep the 'if(' -> 'if (' stuff, as I formatted the whole file
and so it is internally consistent within the file. Also, too much
hassle.
Nils Maier 11 年之前
父節點
當前提交
8cada49765
共有 5 個文件被更改,包括 540 次插入453 次删除
  1. 495 432
      src/AbstractCommand.cc
  2. 38 19
      src/AbstractCommand.h
  3. 1 1
      src/ConnectCommand.cc
  4. 1 1
      src/ConnectCommand.h
  5. 5 0
      src/RequestGroup.h

文件差異過大導致無法顯示
+ 495 - 432
src/AbstractCommand.cc


+ 38 - 19
src/AbstractCommand.h

@@ -62,7 +62,8 @@ class AsyncNameResolver;
 class AsyncNameResolverMan;
 #endif // ENABLE_ASYNC_DNS
 
-class AbstractCommand : public Command {
+class AbstractCommand : public Command
+{
 private:
   std::shared_ptr<Request> req_;
   std::shared_ptr<FileEntry> fileEntry_;
@@ -78,7 +79,7 @@ private:
   RequestGroup* requestGroup_;
   DownloadEngine* e_;
 
-  std::vector<std::shared_ptr<Segment> > segments_;
+  std::vector<std::shared_ptr<Segment>> segments_;
 
   Timer checkPoint_;
   Timer serverStatTimer_;
@@ -90,8 +91,11 @@ private:
   bool incNumConnection_;
 
   int32_t calculateMinSplitSize() const;
+
   void useFasterRequest(const std::shared_ptr<Request>& fasterRequest);
 
+  bool shouldProcess() const;
+
 public:
   RequestGroup* getRequestGroup() const
   {
@@ -140,7 +144,7 @@ public:
     return socketRecvBuffer_;
   }
 
-  const std::vector<std::shared_ptr<Segment> >& getSegments() const
+  const std::vector<std::shared_ptr<Segment>>& getSegments() const
   {
     return segments_;
   }
@@ -150,26 +154,32 @@ public:
   // return empty string. In this case, call this function with same
   // arguments until resolved address is returned.  Exception is
   // thrown on error. port is used for retrieving cached addresses.
-  std::string resolveHostname
-  (std::vector<std::string>& addrs, const std::string& hostname, uint16_t port);
+  std::string resolveHostname(std::vector<std::string>& addrs,
+                              const std::string& hostname,
+                              uint16_t port);
 
   void tryReserved();
 
   void setReadCheckSocket(const std::shared_ptr<SocketCore>& socket);
+
   void setWriteCheckSocket(const std::shared_ptr<SocketCore>& socket);
+
   void disableReadCheckSocket();
+
   void disableWriteCheckSocket();
 
   /**
    * If pred == true, calls setReadCheckSocket(socket). Otherwise, calls
    * disableReadCheckSocket().
    */
-  void setReadCheckSocketIf(const std::shared_ptr<SocketCore>& socket, bool pred);
+  void setReadCheckSocketIf(const std::shared_ptr<SocketCore>& socket,
+                            bool pred);
   /**
    * If pred == true, calls setWriteCheckSocket(socket). Otherwise, calls
    * disableWriteCheckSocket().
    */
-  void setWriteCheckSocketIf(const std::shared_ptr<SocketCore>& socket, bool pred);
+  void setWriteCheckSocketIf(const std::shared_ptr<SocketCore>& socket,
+                             bool pred);
 
   // Swaps socket_ with socket. This disables current read and write
   // check.
@@ -180,7 +190,10 @@ public:
     return timeout_;
   }
 
-  void setTimeout(time_t timeout) { timeout_ = timeout; }
+  void setTimeout(time_t timeout)
+  {
+    timeout_ = timeout;
+  }
 
   void prepareForNextAction(std::unique_ptr<CheckIntegrityEntry> checkEntry);
 
@@ -189,11 +202,10 @@ public:
   // InitiateConnectionCommandFactory and it is pushed to
   // DownloadEngine and returns false. If no addresses left, DlRetryEx
   // exception is thrown.
-  bool checkIfConnectionEstablished
-  (const std::shared_ptr<SocketCore>& socket,
-   const std::string& connectedHostname,
-   const std::string& connectedAddr,
-   uint16_t connectedPort);
+  bool checkIfConnectionEstablished(const std::shared_ptr<SocketCore>& socket,
+                                    const std::string& connectedHostname,
+                                    const std::string& connectedAddr,
+                                    uint16_t connectedPort);
 
   /*
    * Returns true if proxy for the procol indicated by Request::getProtocol()
@@ -225,33 +237,40 @@ public:
   void checkSocketRecvBuffer();
 
   void addCommandSelf();
+
 protected:
   virtual bool prepareForRetry(time_t wait);
+
   virtual void onAbort();
+
   virtual bool executeInternal() = 0;
+
   // Returns true if the derived class wants to execute
   // executeInternal() unconditionally
-  virtual bool noCheck()
+  virtual bool noCheck() const
   {
     return false;
   }
 
 public:
-  AbstractCommand(cuid_t cuid, const std::shared_ptr<Request>& req,
+  AbstractCommand(cuid_t cuid,
+                  const std::shared_ptr<Request>& req,
                   const std::shared_ptr<FileEntry>& fileEntry,
-                  RequestGroup* requestGroup, DownloadEngine* e,
+                  RequestGroup* requestGroup,
+                  DownloadEngine* e,
                   const std::shared_ptr<SocketCore>& s = nullptr,
-                  const std::shared_ptr<SocketRecvBuffer>& socketRecvBuffer = nullptr,
+                  const std::shared_ptr<SocketRecvBuffer>& socketRecvBuffer =
+                      nullptr,
                   bool incNumConnection = true);
 
   virtual ~AbstractCommand();
+
   virtual bool execute() CXX11_OVERRIDE;
 };
 
 // Returns proxy URI for given protocol.  If no proxy URI is defined,
 // then returns an empty string.
-std::string getProxyUri
-(const std::string& protocol, const Option* option);
+std::string getProxyUri(const std::string& protocol, const Option* option);
 
 } // namespace aria2
 

+ 1 - 1
src/ConnectCommand.cc

@@ -115,7 +115,7 @@ bool ConnectCommand::executeInternal()
   return true;
 }
 
-bool ConnectCommand::noCheck()
+bool ConnectCommand::noCheck() const
 {
   return backupConnectionInfo_ && !backupConnectionInfo_->ipaddr.empty();
 }

+ 1 - 1
src/ConnectCommand.h

@@ -58,7 +58,7 @@ public:
   const std::shared_ptr<Request>& getProxyRequest() const;
 protected:
   virtual bool executeInternal() CXX11_OVERRIDE;
-  virtual bool noCheck() CXX11_OVERRIDE;
+  virtual bool noCheck() const CXX11_OVERRIDE;
 private:
   std::shared_ptr<Request> proxyRequest_;
   std::shared_ptr<BackupConnectInfo> backupConnectionInfo_;

+ 5 - 0
src/RequestGroup.h

@@ -241,6 +241,11 @@ public:
 
   int64_t getCompletedLength() const;
 
+  inline int64_t getPendingLength() const
+  {
+    return getTotalLength() - getCompletedLength();
+  }
+
   /**
    * Compares expected filename with specified actualFilename.
    * The expected filename refers to FileEntry::getBasename() of the first

部分文件因文件數量過多而無法顯示