2 #include "Blob_Handler.h"
3 #include "ace/OS_NS_string.h"
14 // initialize address and filename. No network i/o in open
17 ACE_Blob::open (const ACE_TCHAR
*filename
, const ACE_TCHAR
*hostname
, u_short port
)
19 filename_
= ACE_OS::strdup (filename
);
20 inet_addr_
.set (port
, hostname
);
24 // read from connection length bytes from offset, into Message block
27 ACE_Blob::read (ACE_Message_Block
*mb
, size_t length
, size_t offset
)
29 // Create a Blob Reader
30 ACE_Blob_Reader
blob_reader (mb
, length
, offset
, filename_
);
31 ACE_Blob_Handler
*brp
= &blob_reader
;
33 // Connect to the server
34 if (connector_
.connect (brp
, inet_addr_
) == -1)
35 ACE_ERROR_RETURN ((LM_ERROR
, "%p\n", "ACE_Blob::read():Connector error"), -1);
37 return blob_reader
.byte_count ();
40 // write to connection length bytes from offset, into Message block
43 ACE_Blob::write (ACE_Message_Block
*mb
, size_t length
, size_t offset
)
45 // Create a Blob Writer
46 ACE_Blob_Writer
blob_writer (mb
, length
, offset
, filename_
);
47 ACE_Blob_Handler
*bwp
= &blob_writer
;
49 // Connect to the server
50 if (connector_
.connect (bwp
, inet_addr_
) == -1)
51 ACE_ERROR_RETURN ((LM_ERROR
, "%p\n", "ACE_Blob::write():Connector error"), -1);
53 return blob_writer
.byte_count ();
56 // close down the blob
63 ACE_OS::free ((void *) filename_
);