📄 cwp20.htm
字号:
<!-- saved from url=(0007)http:// -->
<HTML><HEAD><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><TITLE>Perst.CustomAllocator</TITLE><LINK REL=STYLESHEET HREF="../CommentReport.css" TYPE="text/css"></HEAD><BODY topmargin=0 rightmargin=0 leftmargin=0 style="background-image: url(../titletile.jpg); background-repeat:repeat-x; background-position: 0 0;" ><DIV CLASS="PageHeading">Perst.CustomAllocator Interface</DIV><DIV CLASS="Description">
Custom allocator interface. Custom allocator can be used for more efficiently
allocate space using application specific semantic of the object. For example,
application can place all BLOBs (images, texts, video,...) in separate file, located at separate disk
and keep file with the rest of the data (metadata describing this BLOBs) relatively small, improving
speed of search operations. Such separation of BLOBs and their descriptors can be achieved
using custom allocator in conjunction with multifile. First segment is used for allocation of normal
(non-BLOB) objects. It's size can be set practically unlimited: 0x1000 0000 0000 0000.
And second segment should be used by custom allocator to allocate BLOBs. So BLOBs offsets are started
from 0x1000000000000000 and BLOB content will be stored in separate file which in turn can be located
at separate disk.
<P></DIV><IMG src="../GradLeft.jpg" width=7 height=378 alt="" border="0" style="position:absolute; left:10; top:18;z-Index:2"><IMG src="../GradTop.jpg" width=352 height=7 alt="" border="0" align="top" style="position:absolute; left:10; top:18; z-index:1"><DIV CLASS="Remarks"><SPAN CLASS="RemarkHdrX">Access: </SPAN>Public</DIV><TABLE CLASS="InfoTable" cellpadding=0 cellspacing=0><TR height=20><TD width=20> </TD><TD valign=top align=left width=9 bgcolor="#cccc66"><IMG SRC="../graycorner.jpg" align=top></TD><TD CLASS="TableLightLabel" WIDTH=206>Members</TD><TD CLASS="TableLightLabel" >Description</TD><TD width=20> </TD></TR><TR height=20><TD width=20> </TD><TD CLASS="TableLightDesc"> </TD><TD CLASS="TableLightDesc"><A HREF="CWP21.HTM" TARGET="CNTFRAME">Allocate</A></TD><TD CLASS="TableLightDesc">
Allocate object
<P></TD><TD width=20> </TD></TR><TR height=20><TD width=20> </TD><TD CLASS="TableLightDesc"> </TD><TD CLASS="TableLightDesc"><A HREF="CWP22.HTM" TARGET="CNTFRAME">Reallocate</A></TD><TD CLASS="TableLightDesc">
Reallocate object previously allocated by this allocator.
This method should try to extend or shrink this object in its current location
and if it is not possible, allocate new space for the object and free its old location.
<P></TD><TD width=20> </TD></TR><TR height=20><TD width=20> </TD><TD CLASS="TableLightDesc"> </TD><TD CLASS="TableLightDesc"><A HREF="CWP23.HTM" TARGET="CNTFRAME">Free</A></TD><TD CLASS="TableLightDesc">
Deallocate object previously allocated by this allocator.
Space used by this object can not be reused until transaction commit (when commit method is called for this
allocator)
<P></TD><TD width=20> </TD></TR><TR height=20><TD width=20> </TD><TD CLASS="TableLightDesc"> </TD><TD CLASS="TableLightDesc"><A HREF="CWP24.HTM" TARGET="CNTFRAME">Commit</A></TD><TD CLASS="TableLightDesc">
Make it possible to reused space of all previously deallocated shadow objects.
<P></TD><TD width=20> </TD></TR></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -