Skip to content

Commit

Permalink
Merge pull request #19 from hanzhumsft/master
Browse files Browse the repository at this point in the history
Azure Storage Client Library for C++ v0.5.0
  • Loading branch information
slepox committed Feb 4, 2015
2 parents 7697af4 + 9f41af4 commit 0d0e4d8
Show file tree
Hide file tree
Showing 68 changed files with 2,049 additions and 468 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@ App_Data/*.ldf
# Microsoft Fakes
FakesAssemblies/

# Nuget packages
*.nupkg

# =========================
# Windows detritus
# =========================
Expand All @@ -176,3 +179,7 @@ Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# build folders under Linux
Microsoft.WindowsAzure.Storage/build.*/

13 changes: 13 additions & 0 deletions BreakingChanges.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
Azure Storage Client Library for C++
History of Breaking Changes

Breaking Changes in v0.5:
- Added parameter sequence_number to the following functions:
- cloud_page_blob::create_async
- cloud_page_blob::open_write_async
- cloud_page_blob::upload_from_stream_async
- cloud_page_blob::upload_from_file_async
- cloud_page_blob::create
- cloud_page_blob::open_write
- cloud_page_blob::upload_from_stream
- cloud_page_blob::upload_from_file
- The client checks blob lease times and throws std::invalid_argument for invalid lease times. Previously, this would have been checked on the service
and azure::storage::storage_exception would have been thrown.

Breaking Changes in v0.4:
- Upgraded Casablanca dependency to 2.3.0
- Changed the exception type in some cases if you upload a blob from a seekable stream but the stream is too short for the desired blob length.
Expand Down
39 changes: 32 additions & 7 deletions Changelog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
Azure Storage Client Library for C++
History of Changes

Changes in v0.5:
- Default REST API version is 2014-02-14
- Added parameter sequence_number to the following functions:
- cloud_page_blob::create_async
- cloud_page_blob::open_write_async
- cloud_page_blob::upload_from_stream_async
- cloud_page_blob::upload_from_file_async
- cloud_page_blob::create
- cloud_page_blob::open_write
- cloud_page_blob::upload_from_stream
- cloud_page_blob::upload_from_file
- The client checks blob lease times and throws std::invalid_argument for invalid lease times. Previously, this would have been checked on the service and azure::storage::storage_exception would have been thrown.
- Improvements on error handling:
- azure::storage::storage_exception now has inner_exception populated with the actual underlying exception thrown
- azure::storage::storage_exception now has more information about errors on storage service side
- was/error_code_strings.h is added including messages for all possible error codes from storage service
- Improvements on Unit Tests:
- All test cases now print out test name and client reqeust ID
- Added new cases for containers listing and continuation token
- Unit Test configuraiton file is copied to output directory via CMake now, so no need to copy it manually under Linux
- Several fixes for bugs:
- Cannot generate SAS tokens for tables with upper-case letters in table name
- cloud_blob_istreambuf and cloud_blob_ostreambuf is set to a wrong position after seek() method is called.
- Content-MD5 header is incorrectly set when sending Put Page requests with page-write set to clear

Changes in v0.4:
- Now supports building on Linux
- Added http_buffer_size request option to control the internal buffer size used in the HTTP layer when downloading data. The default size is 64KB.
Expand All @@ -10,9 +35,9 @@ Changes in v0.4:
- Fixed incorrect initialization of some members in the cloud_blob_container_properties and retry_info classes.
- Added a default of 24 days for a maximum execution time for an operation
- Changed the exception type if you upload a blob from a seekable stream but the stream is too short for the desired blob length.
- Used to throw azure::storage::storage_exception in some cases, now throws std::invalid_argument always.
- Now checks for this case explicitly before the upload is started.
- Non-seekable streams still throw std::invalid_argument as before.
- Used to throw azure::storage::storage_exception in some cases, now throws std::invalid_argument always.
- Now checks for this case explicitly before the upload is started.
- Non-seekable streams still throw std::invalid_argument as before.
- Fixed several bugs, including incorrect uses of std::move and compile-time differences between Visual Studio and g++.
- Added client request ID into log lines.
- Upgraded Casablanca dependency to 2.3.0
Expand Down Expand Up @@ -40,10 +65,10 @@ Changes in v0.3:
- Removed the constness from the return values of filter_string and select_columns functions in table_query class.
- Changed many functions to accept pass-by-value arguments to support move semantics.
- Changed many functions to accept pass-by-reference arguments or return references as a performance improvement.
- Made some constructors explicit to avoid implicit conversions. This affects these classes:
canonicalizer, shared_key_blob_queue_canonicalizer, shared_key_lite_blob_queue_canonicalizer, shared_key_table_canonicalizer, shared_key_lite_table_canonicalizer,
sas_authentication_handler, shared_key_authentication_handler, continuation_token, retry_info, retry_policy, cloud_queue_message, cloud_queue_client,
basic_common_retry_policy, cloud_client
- Made some constructors explicit to avoid implicit conversions. This affects these classes:
canonicalizer, shared_key_blob_queue_canonicalizer, shared_key_lite_blob_queue_canonicalizer, shared_key_table_canonicalizer,
shared_key_lite_table_canonicalizer, sas_authentication_handler, shared_key_authentication_handler, continuation_token,
retry_info, retry_policy, cloud_queue_message, cloud_queue_client, basic_common_retry_policy, cloud_client
- Major performance improvement when executing many requests in parallel.
- Minor bug fixes and performance improvements.

Expand Down
2 changes: 1 addition & 1 deletion Microsoft.WindowsAzure.Storage.autopkg
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
nuget {
nuspec {
id = wastorage;
version: 0.4.0-preview;
version: 0.5.0-preview;
title: Microsoft Azure Storage Client Library for C++;
authors: {Microsoft Corporation};
owners: {Microsoft Corporation};
Expand Down
2 changes: 1 addition & 1 deletion Microsoft.WindowsAzure.Storage/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,4 @@ set(AZURESTORAGE_LIBRARIES ${AZURESTORAGE_LIBRARY} ${CASABLANCA_LIBRARIES} ${Boo
include_directories(${AZURESTORAGE_INCLUDE_DIRS})

add_subdirectory(src)
#add_subdirectory(tests)
#add_subdirectory(tests)
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
Expand All @@ -129,7 +129,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
Expand All @@ -152,7 +152,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
Expand All @@ -175,7 +175,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
Expand All @@ -184,6 +184,7 @@
<ClInclude Include="includes\was\blob.h" />
<ClInclude Include="includes\was\common.h" />
<ClInclude Include="includes\was\core.h" />
<ClInclude Include="includes\was\error_code_strings.h" />
<ClInclude Include="includes\was\queue.h" />
<ClInclude Include="includes\was\service_client.h" />
<ClInclude Include="includes\was\storage_account.h" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@
<ClInclude Include="includes\wascore\hashing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="includes\was\error_code_strings.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\async_semaphore.cpp">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
Expand All @@ -129,7 +129,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
Expand All @@ -152,7 +152,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
Expand All @@ -175,7 +175,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rpcrt4.lib;xmllite.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
Expand All @@ -184,6 +184,7 @@
<ClInclude Include="includes\was\blob.h" />
<ClInclude Include="includes\was\common.h" />
<ClInclude Include="includes\was\core.h" />
<ClInclude Include="includes\was\error_code_strings.h" />
<ClInclude Include="includes\was\queue.h" />
<ClInclude Include="includes\was\service_client.h" />
<ClInclude Include="includes\was\storage_account.h" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@
<ClInclude Include="includes\was\core.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="includes\was\error_code_strings.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="includes\was\queue.h">
<Filter>Header Files</Filter>
</ClInclude>
Expand Down
Loading

0 comments on commit 0d0e4d8

Please sign in to comment.