~ubuntu-branches/ubuntu/precise/nordugrid-arc/precise

« back to all changes in this revision

Viewing changes to src/services/a-rex/grid-manager/loaders/downloader.cpp

  • Committer: Package Import Robot
  • Author(s): Mattias Ellert
  • Date: 2011-10-24 02:19:37 UTC
  • mfrom: (3.1.4 sid)
  • Revision ID: package-import@ubuntu.com-20111024021937-8whiie90uq2oqsok
Tags: 1.1.0-2
* Backport fixes for endian independent md5 checksum
* Filter out -Wl,-Bsymbolic-functions from default Ubuntu LDFLAGS

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
#include <arc/client/Job.h>
19
19
#include <arc/client/JobController.h>
20
20
#include <arc/UserConfig.h>
21
 
#include <arc/data/CheckSum.h>
 
21
#include <arc/CheckSum.h>
22
22
#include <arc/data/FileCache.h>
23
23
#include <arc/data/DataHandle.h>
24
24
#include <arc/data/DataMover.h>
74
74
  typedef std::list<FileDataEx>::iterator iterator;
75
75
  Arc::DataStatus res;
76
76
  PointPair* pair;
77
 
  int size; /* size of the file in bytes */
78
77
  /* Times are string to eliminate the need to convert
79
78
   * string to time_t while reading from local file
80
79
   */
204
203
    Arc::CRC32Sum crc;
205
204
    char buffer[1024];
206
205
    ssize_t l;
207
 
    size_t ll = 0;
208
206
    for(;;) {
209
207
      if((l=read(h,buffer,1024)) == -1) {
210
208
        logger.msg(Arc::ERROR, "Error reading file %s", dt.pfn);
211
209
        if(error) (*error)="Could not read file to compute checksum.";
212
210
        return 1;
213
211
      };
214
 
      if(l==0) break; ll+=l;
 
212
      if(l==0) break;
215
213
      crc.add(buffer,l);
216
214
    };
217
215
    close(h);
229
227
}
230
228
 
231
229
class PointPair {
232
 
 private:
233
 
  Arc::URL source_url;
234
 
  Arc::URL destination_url;
235
230
 public:
236
231
  Arc::DataHandle source;
237
232
  Arc::DataHandle destination;
238
233
  PointPair(const std::string& source_str, const std::string& destination_str,
239
234
      const Arc::UserConfig& usercfg)
240
 
    : source_url(source_str),
241
 
      destination_url(destination_str),
242
 
      source(source_url, usercfg),
243
 
      destination(destination_url, usercfg) {};
 
235
    : source(source_str, usercfg),
 
236
      destination(destination_str, usercfg) {};
244
237
  ~PointPair(void) {};
245
238
  static void callback(Arc::DataMover*,Arc::DataStatus res,void* arg) {
246
239
    FileDataEx::iterator &it = *((FileDataEx::iterator*)arg);
479
472
        exit(1);
480
473
      }
481
474
    }
482
 
    catch (CacheConfigException e) {
 
475
    catch (CacheConfigException& e) {
483
476
      logger.msg(Arc::ERROR, "Error with cache configuration: %s", e.what());
484
477
      delete cache;
485
478
      exit(1);