These functions are all part of the "public" api, so they could 
conceivably be used in C extensions.  How many of them actually are used 
is another story of course, and it's far from clear if anyone is 
developing C extensions.

In general, I think it's a good thing to have a rich API, including 
convenience functions (e.g., Ns_CacheSetValue) and plain old utility 
packages, like the Ns_List functions that aren't used but aren't hurting 
anything either.  Duplicating functionality just makes for a confusing 
API, so the deprecated functions (which specifically do have a preferred 
replacement) can be eliminated, perhaps as part of a version bump.

Some of these should have tcl apis around them, such as the Cls 
functions.  AOLserver has 'ns_cls' tcl functions for these.  Of course, 
these aren't needed without other capabilities like queue-wait or 
pre-write callbacks as otherwise conn=interp=conn.

The APIs that should be more closely examined are those for actually 
using the platform, like the ConnSend and ConnWrite and WriteConn 
functions - just what is the difference between these?  There should be 
one general way (including convenience wrappers) to specify data to be 
sent, but it seems like there's a lot more than that.

-J

Gustaf Neumann wrote:
> Dear elders of the naviserver list,
>
> below is a list of about 120 C-functions, which are not used by the
> current naviserver. A few (about 5) were obsoleted by me, but the
> majority is jsut sitting around. Since these functions are not called by
> naviserver this functions are not covered by the regression test. i
> think it is time for a major cleanup.
>
> - most of the deprecated functions were deprecated 2005, a few 2007.
>     Are there arguments against dropping these now?
>
> - what should we do with the unused functions?
>     Delete these as well?
>     Mark these as deprecated?
>     Discuss these in more detail?
>
> Even when the functions are deleted, they are not lost, reviving these
> in the case someome needs it could be done quickly.
>
> -gustaf neumann
>
>
> Deprecated:
>
> Ns_BindSock
> Ns_ConnFlushHeaders
> Ns_ConnInit
> Ns_ConnLocation
> Ns_ConnQueueHeaders
> Ns_ConnResetReturn
> Ns_ConnSetRequiredHeaders
> Ns_ConnWrite
> Ns_DStringPop
> Ns_DStringPush
> Ns_DecodeUrlCharset
> Ns_DecodeUrlWithEncoding
> Ns_EncodeUrlCharset
> Ns_EncodeUrlWithEncoding
> Ns_FreeConnInterp
> Ns_GetEncoding
> Ns_PageRoot
> Ns_SetLocationProc
> Ns_SetLogFlushProc
> Ns_SetNsLogProc
> Ns_TclInitInterps
> Ns_TclLogErrorRequest
> Ns_TclRegisterAtCleanup
> Ns_TclRegisterAtCreate
> Ns_TclRegisterAtDelete
> Ns_TclRegisterDeferred
> Ns_WriteCharConn
> Ns_WriteConn
>
>
> Not used:
>
> Ns_AbsoluteUrl
> Ns_AdpAppend
> Ns_AdpFlush
> Ns_AdpGetOutput
> Ns_AdpRequestEx
> Ns_AuthorizeUser
> Ns_CacheSetValue
> Ns_CacheSignal
> Ns_CacheTryLock
> Ns_CacheWait
> Ns_ClearSockErrno
> Ns_ClsAlloc
> Ns_ClsGet
> Ns_ClsSet
> Ns_CompressGzip
> Ns_ConnCopyToDString
> Ns_ConnCopyToFd
> Ns_ConnCopyToFile
> Ns_ConnFlushContent
> Ns_ConnGets
> Ns_ConnPuts
> Ns_ConnReadHeaders
> Ns_ConnReturnAdminNotice
> Ns_ConnReturnHtml
> Ns_ConnReturnNoResponse
> Ns_ConnReturnNotImplemented
> Ns_ConnReturnOk
> Ns_ConnReturnOpenFile
> Ns_ConnSendDString
> Ns_ConnSendFd
> Ns_ConnWriteChars
> Ns_ConnWriteData
> Ns_DriverInit
> Ns_FreeRequest
> Ns_GetAllAddrByHost
> Ns_GetRequest
> Ns_GetSockErrno
> Ns_GetThreadServer
> Ns_GetUserHome
> Ns_IndexDel
> Ns_IndexDup
> Ns_IndexFindInf
> Ns_IndexIntInit
> Ns_IndexStringAppend
> Ns_IndexStringDestroy
> Ns_IndexStringDup
> Ns_IndexStringInit
> Ns_IndexStringTrunc
> Ns_IntPrint
> Ns_LibPath
> Ns_ListCopy
> Ns_ListDeleteDuplicates
> Ns_ListDeleteIf
> Ns_ListDeleteLowElements
> Ns_ListFree
> Ns_ListLast
> Ns_ListLength
> Ns_ListMapcar
> Ns_ListNmapcar
> Ns_ListPrint
> Ns_NextWord
> Ns_ObjvDouble
> Ns_ObjvEval
> Ns_ObjvIndex
> Ns_ObjvLong
> Ns_RelativeUrl
> Ns_SetListFree
> Ns_SetThreadServer
> Ns_SkipUrl
> Ns_SockPipe
> Ns_SockPortBound
> Ns_SockRecv
> Ns_SockRecvBufs
> Ns_SockSend
> Ns_SockSendFileBufs
> Ns_SockStrError
> Ns_SockTimedConnect
> Ns_SockWait
> Ns_StrNSt
> Ns_StringArgProc
> Ns_UrlIsDir
> Ns_UrlIsFile
> Ns_UrlSpecificGetExact
> Ns_UrlSpecificGetFast
> Ns_VarAppend
> Ns_VarExists
> Ns_VarGet
> Ns_VarIncr
> Ns_VarSet
> Ns_VarUnset
> Ns_WaitProcess
> ns_closeonexec
> ns_duphigh
> ns_socknbclose
>
>
> ------------------------------------------------------------------------------
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. SALE $99.99 this month only -- learn more at:
> http://p.sf.net/sfu/learnmore_122912
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to