Author: fmui
Date: Fri Nov 13 16:04:29 2015
New Revision: 1714233

URL: http://svn.apache.org/viewvc?rev=1714233&view=rev
Log:
CMIS-955: increased buffers for better upload performance

Modified:
    chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub-writer.cs
    chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub.cs
    chemistry/dotcmis/trunk/DotCMIS/binding/converter.cs

Modified: chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub-writer.cs
URL: 
http://svn.apache.org/viewvc/chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub-writer.cs?rev=1714233&r1=1714232&r2=1714233&view=diff
==============================================================================
--- chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub-writer.cs (original)
+++ chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub-writer.cs Fri Nov 
13 16:04:29 2015
@@ -87,69 +87,72 @@ namespace DotCMIS.Binding.AtomPub
             XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
             xmlWriterSettings.Encoding = new UTF8Encoding(false);
 
-            using (XmlWriter writer = XmlWriter.Create(outStream, 
xmlWriterSettings))
+            using (BufferedStream bufferedStream = new 
BufferedStream(outStream, 64 * 1204))
             {
-                // start doc
-                writer.WriteStartDocument();
-
-                // start entry
-                writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagEntry, AtomPubConstants.NamespaceAtom);
-                writer.WriteAttributeString("xmlns", AtomWriter.PrefixAtom, 
null, AtomPubConstants.NamespaceAtom);
-                writer.WriteAttributeString("xmlns", AtomWriter.PrefixCMIS, 
null, AtomPubConstants.NamespaceCMIS);
-                writer.WriteAttributeString("xmlns", 
AtomWriter.PrefixRestAtom, null, AtomPubConstants.NamespaceRestAtom);
-                if (filename != null)
+                using (XmlWriter writer = XmlWriter.Create(bufferedStream, 
xmlWriterSettings))
                 {
-                    writer.WriteAttributeString("xmlns", 
AtomWriter.PrefixApacheChemistry, null, 
AtomPubConstants.NamespaceApacheChemistry);
-                }
+                    // start doc
+                    writer.WriteStartDocument();
 
-                // atom:id
-                writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagAtomId, AtomPubConstants.NamespaceAtom);
-                
writer.WriteString("urn:uuid:00000000-0000-0000-0000-00000000000");
-                writer.WriteEndElement();
-
-                // atom:title
-                writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagAtomTitle, AtomPubConstants.NamespaceAtom);
-                writer.WriteString(GetTitle());
-                writer.WriteEndElement();
-
-                // atom:updated
-                writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagAtomUpdated, AtomPubConstants.NamespaceAtom);
-                writer.WriteString(GetUpdated());
-                writer.WriteEndElement();
+                    // start entry
+                    writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagEntry, AtomPubConstants.NamespaceAtom);
+                    writer.WriteAttributeString("xmlns", 
AtomWriter.PrefixAtom, null, AtomPubConstants.NamespaceAtom);
+                    writer.WriteAttributeString("xmlns", 
AtomWriter.PrefixCMIS, null, AtomPubConstants.NamespaceCMIS);
+                    writer.WriteAttributeString("xmlns", 
AtomWriter.PrefixRestAtom, null, AtomPubConstants.NamespaceRestAtom);
+                    if (filename != null)
+                    {
+                        writer.WriteAttributeString("xmlns", 
AtomWriter.PrefixApacheChemistry, null, 
AtomPubConstants.NamespaceApacheChemistry);
+                    }
 
-                // content
-                if (stream != null)
-                {
-                    writer.WriteStartElement(AtomWriter.PrefixRestAtom, 
AtomPubConstants.TagContent, AtomPubConstants.NamespaceRestAtom);
+                    // atom:id
+                    writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagAtomId, AtomPubConstants.NamespaceAtom);
+                    
writer.WriteString("urn:uuid:00000000-0000-0000-0000-00000000000");
+                    writer.WriteEndElement();
 
-                    writer.WriteStartElement(AtomWriter.PrefixRestAtom, 
AtomPubConstants.TagContentMediatype, AtomPubConstants.NamespaceRestAtom);
-                    writer.WriteString(mediaType);
+                    // atom:title
+                    writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagAtomTitle, AtomPubConstants.NamespaceAtom);
+                    writer.WriteString(GetTitle());
                     writer.WriteEndElement();
 
-                    if (filename != null)
+                    // atom:updated
+                    writer.WriteStartElement(AtomWriter.PrefixAtom, 
AtomPubConstants.TagAtomUpdated, AtomPubConstants.NamespaceAtom);
+                    writer.WriteString(GetUpdated());
+                    writer.WriteEndElement();
+
+                    // content
+                    if (stream != null)
                     {
-                        
writer.WriteStartElement(AtomWriter.PrefixApacheChemistry, 
AtomPubConstants.TagContentFilename, AtomPubConstants.NamespaceApacheChemistry);
-                        writer.WriteString(filename);
+                        writer.WriteStartElement(AtomWriter.PrefixRestAtom, 
AtomPubConstants.TagContent, AtomPubConstants.NamespaceRestAtom);
+
+                        writer.WriteStartElement(AtomWriter.PrefixRestAtom, 
AtomPubConstants.TagContentMediatype, AtomPubConstants.NamespaceRestAtom);
+                        writer.WriteString(mediaType);
                         writer.WriteEndElement();
-                    }
 
-                    writer.WriteStartElement(AtomWriter.PrefixRestAtom, 
AtomPubConstants.TagContentBase64, AtomPubConstants.NamespaceRestAtom);
-                    WriteContent(writer);
-                    writer.WriteEndElement();
+                        if (filename != null)
+                        {
+                            
writer.WriteStartElement(AtomWriter.PrefixApacheChemistry, 
AtomPubConstants.TagContentFilename, AtomPubConstants.NamespaceApacheChemistry);
+                            writer.WriteString(filename);
+                            writer.WriteEndElement();
+                        }
 
-                    writer.WriteEndElement();
-                }
+                        writer.WriteStartElement(AtomWriter.PrefixRestAtom, 
AtomPubConstants.TagContentBase64, AtomPubConstants.NamespaceRestAtom);
+                        WriteContent(writer);
+                        writer.WriteEndElement();
 
-                // object
-                AtomWriter.ObjectSerializer.Serialize(writer, cmisObject);
+                        writer.WriteEndElement();
+                    }
 
-                // end entry
-                writer.WriteEndElement();
+                    // object
+                    AtomWriter.ObjectSerializer.Serialize(writer, cmisObject);
 
-                // end document
-                writer.WriteEndDocument();
+                    // end entry
+                    writer.WriteEndElement();
 
-                writer.Flush();
+                    // end document
+                    writer.WriteEndDocument();
+
+                    writer.Flush();
+                }
             }
         }
 

Modified: chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub.cs
URL: 
http://svn.apache.org/viewvc/chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub.cs?rev=1714233&r1=1714232&r2=1714233&view=diff
==============================================================================
--- chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub.cs (original)
+++ chemistry/dotcmis/trunk/DotCMIS/binding/atompub/atompub.cs Fri Nov 13 
16:04:29 2015
@@ -2127,7 +2127,7 @@ namespace DotCMIS.Binding.AtomPub
             HttpUtils.Output output = delegate(Stream stream)
             {
                 int b;
-                byte[] buffer = new byte[4096];
+                byte[] buffer = new byte[64 * 1024];
                 while ((b = contentStream.Stream.Read(buffer, 0, 
buffer.Length)) > 0)
                 {
                     stream.Write(buffer, 0, b);

Modified: chemistry/dotcmis/trunk/DotCMIS/binding/converter.cs
URL: 
http://svn.apache.org/viewvc/chemistry/dotcmis/trunk/DotCMIS/binding/converter.cs?rev=1714233&r1=1714232&r2=1714233&view=diff
==============================================================================
--- chemistry/dotcmis/trunk/DotCMIS/binding/converter.cs (original)
+++ chemistry/dotcmis/trunk/DotCMIS/binding/converter.cs Fri Nov 13 16:04:29 
2015
@@ -1697,7 +1697,7 @@ namespace DotCMIS.Binding
                 else
                 {
                     MemoryStream memStream = new MemoryStream();
-                    byte[] buffer = new byte[4096];
+                    byte[] buffer = new byte[64 * 1024];
                     int bytes;
                     while ((bytes = contentStream.Stream.Read(buffer, 0, 
buffer.Length)) > 0)
                     {


Reply via email to