[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] fs/adminfs adminfo.cpp, 1.28, 1.29 adminfo.h, 1.10,
From:       dcollins () helixcommunity ! org
Date:       2010-09-14 17:01:00
Message-ID: 201009141701.o8EH1AlG000812 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/fs/adminfs
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv23120/server/fs/adminfs

Modified Files:
	adminfo.cpp adminfo.h browse.cpp browse.h 
Log Message:
Synopsis
========
Implements more enhancements related to 64-bit Large File Support (part 4)

Branches: SERVER_CURRENT_RN (HEAD)
Reviewer: Chytanya


Description
===========

This implements some server, datatype-restricted, server-restricted,
datatype_rn and server_rn module related updates necessary for supporting
large files (greater than 4GB) in our 64-bit Helix Server builds.
These updates relate primarily to the seek/tell/stat types of calls.

In some cases, the underlying implementation remains 32-bit, in which
case a comment is typically added to help me find these as I continue
enhancing and extending 64-bit/LFS functionality.

These changes are implented so that the impact on non-64-bit builds,
and non-server builds, should be minimal, ideally transparent.

While MEI/MII/rncache are updated to build using the 64-bit Helix APIs,
a seperate task is to update these to allow for large files, and for
backward compatability when talking to a legacy/32-bit server/proxy.


Files Affected
==============

server/appext/ramgen/ramplin.cpp
server/appext/ramgen/ramplin.h
server/broadcast/app/scalable-mcast/pplyfobj.cpp
server/broadcast/app/scalable-mcast/pub/pplyfobj.h
server/broadcast/transport/rtp/recv/qtbcobj.cpp
server/broadcast/transport/rtp/recv/qtbcobj.h
server/broadcast/transport/rtp/recv/qtdirmgr.cpp
server/broadcast/transport/rtp/recv/qtdirmgr.h
server/engine/core/_main.cpp
server/engine/dataflow/fastfile.cpp
server/engine/dataflow/flob_wrap.cpp
server/engine/dataflow/http.cpp
server/engine/dataflow/pub/fastfile.h
server/engine/dataflow/pub/flob_wrap.h
server/engine/dataflow/pub/http.h
server/engine/session/clientsession.cpp
server/engine/session/pub/clientsession.h
server/fs/adminfs/adminfo.cpp
server/fs/adminfs/adminfo.h
server/fs/adminfs/browse.cpp
server/fs/adminfs/browse.h
server/fs/asncfs/asncfobj.cpp
server/fs/asncfs/asncfobj.h
server/fs/sdpgenfsys/sdpgenfobj.cpp
server/fs/sdpgenfsys/sdpgenfobj.h
server/fs/shell/shelfsys.cpp
server/fs/shell/shelfsys.h
server/fs/tagfsys/pub/tagobj.h
server/fs/tagfsys/tagobj.cpp
server/protocol/http/httpprot.cpp
server/protocol/http/pub/httpbaseproto.h
server/protocol/http/pub/httpprot.h
server/protocol/rtsp/chxrtcptransmapsocket.cpp
server/protocol/rtsp/crtspbase.cpp
datatype-restricted/rm/fileformat/rmffplin.cpp
datatype-restricted/rm/fileformat/rmffplin.h
datatype-restricted/rm/fileformat/rmvsrc.cpp
datatype-restricted/rm/fileformat/rmvsrc.h
server-restricted/cache/meiffpln/meiffpln.cpp
server-restricted/cache/meiffpln/meiffpln.h
server-restricted/cache/miiplin/fastfob.cpp
server-restricted/cache/miiplin/fastfob.h
server-restricted/cache/miiplin/filesupp.cpp
server-restricted/cache/miiplin/filesupp.h
server-restricted/cache/miiplin/miifetch.cpp
server-restricted/cache/miiplin/miifetch.h
server-restricted/cache/miiplin/miifile.cpp
server-restricted/cache/miiplin/miifile.h
server-restricted/cache/miiplin/rmtfile.cpp
server-restricted/cache/miiplin/rmtfile.h
server-restricted/cache/rncache/cmegc.cpp
server-restricted/cache/rncache/cmegc.h
server-restricted/cache/rncache/rncf.cpp
server-restricted/cache/rncache/rncf.h
server-restricted/datatype/playlist/file_reader.cpp
server-restricted/datatype/playlist/pub/file_reader.h
server-restricted/fs/encfs/encfobj.cpp
server-restricted/fs/encfs/pub/encfobj.h
server-restricted/protocol/http-ctrl/baseswitchhandler.cpp
server-restricted/protocol/http-ctrl/compatibility_handler.cpp
server-restricted/protocol/http-ctrl/httpcontentmgr.cpp
server-restricted/protocol/http-ctrl/pub/baseswitchhandler.h
server-restricted/protocol/http-ctrl/pub/compatibility_handler.h
server-restricted/protocol/http-ctrl/pub/httpcontentmgr.h
datatype_rn/avi/fileformat/aviffpln.cpp
datatype_rn/avi/fileformat/pub/aviffpln.h
datatype_rn/flash/fileformat/flshvsrc.cpp
datatype_rn/flash/fileformat/flshvsrc.h
datatype_rn/flash/fileformat/swfread.cpp
datatype_rn/flash/fileformat/swfread.h
datatype_rn/mp4/fileformat/hinttrack/qthinttrack.cpp
datatype_rn/mp4/fileformat/hinttrack/qthinttrack.h
server_rn/appext/asxplin/asxplin.cpp
server_rn/appext/asxplin/asxplin.h
server_rn/appext/flashgen/flashgenfsys.cpp
server_rn/appext/flashgen/pub/flashgenfsys.h
server_rn/appext/m3ugen/m3ugenfsys.cpp
server_rn/appext/m3ugen/pub/m3ugenfsys.h
server_rn/cache/siiplin/mmsfob.cpp
server_rn/cache/siiplin/mmsfob.h
server_rn/protocol/wmt/http/wmt_httpprot.cpp


Testing Performed
=================

Unit Tests:
- N/A

Integration Tests:
- RTSP streaming and HTTP download of realvideo10.rm.

Leak Tests:
- N/A

Performance Tests:
- N/A

Platforms Tested: linux-rhel5-x86_64, sunos-5.10-sparc64, win-x86_64-vc10, win-x86-vc10
Build verified: linux-rhel5-x86_64, sunos-5.10-sparc64, win-x86_64-vc10, win-x86-vc10


QA Hints
========
* N/A


Index: browse.h
===================================================================
RCS file: /cvsroot/server/fs/adminfs/browse.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- browse.h	27 Dec 2007 06:06:18 -0000	1.3
+++ browse.h	14 Sep 2010 17:00:58 -0000	1.4
@@ -113,9 +113,13 @@
     /************************************************************************
      *  IHXXMLFileStatResponce
      */
-    STDMETHOD(StatDone) (THIS_ HX_RESULT status, UINT32 ulSize, 
-	UINT32 ulCreationTime, UINT32 ulAccessTime, 
-	UINT32 ulModificationTime, UINT32 ulMode);
+    STDMETHOD(StatDone) (THIS_
+                         HX_RESULT      status,
+                         HX_OFF_T       size,
+                         HX_STAT_TIME_T tCreationTime,
+                         HX_STAT_TIME_T tAccessTime,
+                         HX_STAT_TIME_T tModificationTime,
+                         HX_STAT_MODE_T mode);
     
     /************************************************************************
      *	    IHXDirHandlerResponse
@@ -200,7 +204,7 @@
     IHXBuffer* m_pCurrentFile;
     IHXRequest* m_pIndexRequest;
     IUnknown* m_pObjectReady;
-    UINT32 m_ulFileMode;
+    HX_STAT_MODE_T m_nFileMode;
     IHXScheduler* m_pScheduler;
     char* m_pRamGenURL;
     char* m_pAsxGenURL;
@@ -224,8 +228,8 @@
     
     char*   m_pFileName;
 
-    UINT32 m_ulFileSize;
-    UINT32 m_ulModificationTime;
+    HX_OFF_T m_nFileSize;
+    HX_STAT_TIME_T m_tModificationTime;
     CDirFormatter * m_pFormatter;
     IHXBuffer* m_pHost;
 };

Index: browse.cpp
===================================================================
RCS file: /cvsroot/server/fs/adminfs/browse.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- browse.cpp	27 Dec 2007 06:06:18 -0000	1.9
+++ browse.cpp	14 Sep 2010 17:00:57 -0000	1.10
@@ -65,14 +65,14 @@
     , m_pFileObject(NULL)
     , m_pFileViewSourceURL(NULL)
     , m_state(kStateConstructed)
-    , m_ulModificationTime(0)
-    , m_ulFileSize(0)
+    , m_tModificationTime(0)
+    , m_nFileSize(0)
     , m_pCurrentDirObj(NULL)
     , m_pIndexRequest(NULL)
     , m_pCurrentFile(NULL)
     , m_pObjectReady(NULL)
     , m_pScheduler(NULL)
-    , m_ulFileMode(0)
+    , m_nFileMode(0)
     , m_pExtensions(NULL)
     , m_pRamGenURL(NULL)
     , m_pAsxGenURL(NULL)
@@ -122,12 +122,12 @@
     HX_VECTOR_DELETE(m_pAsxGenURL);
     HX_VECTOR_DELETE(m_pIndexURL);
     HX_VECTOR_DELETE(m_pFileName);
-    m_ulFileMode = 0;
+    m_nFileMode = 0;
 
     HX_RELEASE(m_pFileObject);
     HX_RELEASE(m_pFileSystemManager);
-    m_ulFileSize = 0;
-    m_ulModificationTime = 0;
+    m_nFileSize = 0;
+    m_tModificationTime = 0;
     return HXR_OK;
 }
 
@@ -385,12 +385,12 @@
  *      
  */
 STDMETHODIMP
-CDirBrowser::StatDone(HX_RESULT status,
-    UINT32 ulSize,
-    UINT32 ulCreationTime,
-    UINT32 ulAccessTime,
-    UINT32 ulModificationTime,
-    UINT32 ulMode)
+CDirBrowser::StatDone(HX_RESULT      status,
+                      HX_OFF_T       size,
+                      HX_STAT_TIME_T tCreationTime,
+                      HX_STAT_TIME_T tAccessTime,
+                      HX_STAT_TIME_T tModificationTime,
+                      HX_STAT_MODE_T mode)
 {
     if (m_state != kStateIndexStatFilePending)
     {
@@ -402,9 +402,9 @@
     {
         if (SUCCEEDED(status))
         {
-            m_ulFileSize = ulSize;
-            m_ulModificationTime = ulModificationTime;
-            m_ulFileMode = ulMode;
+            m_nFileSize = size;
+            m_tModificationTime = tModificationTime;
+            m_nFileMode = mode;
             // use the callback so we don't blow our stack
             m_state = kStateIndexCallbackPending;
             m_pScheduler->RelativeEnter(this, 0);
@@ -1634,10 +1634,10 @@
     {
         return HXR_UNEXPECTED;
     }
-    if (m_ulFileMode & HX_S_IFDIR)
+    if (m_nFileMode & HX_S_IFDIR)
     {
         m_pFormatter->AddDirEntry((const char*)m_pCurrentFile->GetBuffer(), 
-            m_ulModificationTime);
+            m_tModificationTime);
     }
     else
     {
@@ -1682,7 +1682,7 @@
                     strcat(pURL, pFilePath);
                 }
 
-                m_pFormatter->AddFileEntry(pURL, m_ulFileSize, m_ulModificationTime);
+                m_pFormatter->AddFileEntry(pURL, m_nFileSize, m_tModificationTime);
 
                 delete []pURL;
             }

Index: adminfo.cpp
===================================================================
RCS file: /cvsroot/server/fs/adminfs/adminfo.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- adminfo.cpp	6 Jan 2010 22:28:47 -0000	1.28
+++ adminfo.cpp	14 Sep 2010 17:00:57 -0000	1.29
@@ -1727,7 +1727,7 @@
  *      of the completeness of the operation.
  */
 STDMETHODIMP
-AdminFileObject::Seek(UINT32 ulOffset, BOOL bRelative)
+AdminFileObject::Seek(HX_OFF_T ulOffset, BOOL bRelative)
 {
     DPRINTF(D_ENTRY, ("AFO::Seek(offset(%lu))\n", ulOffset));
 
@@ -2690,12 +2690,12 @@
 }
 
 STDMETHODIMP
-AdminFileObject::StatDone(HX_RESULT status,
-                                UINT32 size,
-                                UINT32 creationTime,
-                                UINT32 accessTime,
-                                UINT32 modificationTime,
-                                UINT32 flags)
+AdminFileObject::StatDone(HX_RESULT      status,
+                          HX_OFF_T       size,
+                          HX_STAT_TIME_T tCreationTime,
+                          HX_STAT_TIME_T tAccessTime,
+                          HX_STAT_TIME_T tModificationTime,
+                          HX_STAT_MODE_T mode)
 {
     DPRINTF(D_ENTRY, ("AFO::StatDone(%ld)\n", status));
 
@@ -2718,17 +2718,17 @@
     {
         time_t now;
         time(&now);
-        modificationTime = now;
+        tModificationTime = now;
     }
 
     // Set size to 0, we will be adding stuff dynamically, and repeating
     // the page multiple times.  No content-length should be set.
     m_pStatResponse->StatDone(status,
                               0,
-                              creationTime,
-                              accessTime,
-                              modificationTime,
-                              flags);
+                              tCreationTime,
+                              tAccessTime,
+                              tModificationTime,
+                              mode);
     HX_RELEASE(m_pStatResponse);
     return HXR_OK;
 }

Index: adminfo.h
===================================================================
RCS file: /cvsroot/server/fs/adminfs/adminfo.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- adminfo.h	18 Aug 2007 00:21:14 -0000	1.10
+++ adminfo.h	14 Sep 2010 17:00:57 -0000	1.11
@@ -563,7 +563,7 @@
      *      of the completeness of the operation.
      */
     STDMETHOD(Seek)             (THIS_
-                                 UINT32     ulOffset,
+                                 HX_OFF_T           ulOffset,
                                  BOOL               bRelative);
 
     /************************************************************************
@@ -612,12 +612,13 @@
     STDMETHOD(SeekDone) (THIS_ HX_RESULT);
 
     //FileStatResponse method
-    STDMETHOD(StatDone) (THIS_ HX_RESULT,
-                         UINT32 size,
-                         UINT32 creationTime,
-                         UINT32 accessTime,
-                         UINT32 modificationTime,
-                         UINT32 flags);
+    STDMETHOD(StatDone) (THIS_ 
+                         HX_RESULT      status,
+                         HX_OFF_T       size,
+                         HX_STAT_TIME_T tCreationTime,
+                         HX_STAT_TIME_T tAccessTime,
+                         HX_STAT_TIME_T tModificationTime,
+                         HX_STAT_MODE_T mode);
 
     //IHXFileExistsResponse method
     STDMETHOD(DoesExistDone) (THIS_ BOOL);


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic