Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2008-10-24 14:19:20
Size: 3425
Editor: tonfa
Comment: add newline
Revision 5 as of 2008-10-25 10:25:57
Size: 2605
Editor: hk29kj1
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Proposed new wire protocol == '''[http://29kj.com >>>> 香港六合彩曾道人白小姐提供六合彩资料和六合彩开奖结果]'''
Line 3: Line 3:
The wire protocol has several flaws:
 * it uses the roots of the new branches, this is susceptible to a race (see issue1320) .
 * if the client is missing a lot of nodes but doesn't have any local changes, it will still have to do a lot of roundtrips to discover the base nodes.
'''[http://29kj.com >>>> 香港六合彩专业网站,香港赛马会连结,提供香港六合彩特]'''
Line 7: Line 5:
See WireProtocol for the current protocol. '''[http://29kj.com >>>> 香港六合彩官方网站曾道人内幕玄香港六合 彩大公开]'''
Line 9: Line 7:
=== Overview === '''[http://1878.cc >>>> 香港六合彩天线宝宝公开内幕玄香港六合 彩]'''
Line 11: Line 9:
The basic algorithm is still the same, we first discover a set of nodes.
Then we get all the changes from those nodes.
'''[http://29kj.com >>>> 香港六合彩曾道人特码主论坛六合彩图库白小姐liuhecai]'''
Line 14: Line 11:
=== The Protocol === '''[http://1878.cc >>>> 香港六合彩内幕玄香港六合 彩大公开]'''
Line 16: Line 13:
The discovery protocol is based on the dominance property: http://en.wikipedia.org/wiki/Dominator_(node) '''[http://29kj.com >>>> 香港六合彩开奖结果预测、特码、图库、单双、大小、头数、尾数、平码、特围等开奖综合信息]'''
Line 18: Line 15:
{{{heads()}}}
{{{
 return a list of heads
 (everything new must be an ancestor of one of these heads, so start here)
}}}
'''[http://1878.cc >>>> 香港六合彩特码白小姐网站:六合彩开奖结果最快现场直播网站]'''
Line 24: Line 17:
Basically dominators() is like between() except it is more coarse-grained '''[http://1878.cc >>>> 香港六合彩开奖现场 香港六合彩官方网 香港六合彩开奖记录 香港六合彩开奖结果 香港六合彩图库]'''
Line 26: Line 19:
{{{dominators(list of couple)}}}
 * list = a list of couple (tip, dom) where dom dominates tip
 * tip = the last revision in a branch that we're interested in (often a head).
 * base = the first revision going backwards from a node that has two parents (the product of a merge).
 * p1 = the first parent of the base.
 * p2 = the second parent of the base.
{{{
 let s be the sequence of dominators from tip (we only aggregate linear history, so it's a list of (t, b, p1, p2))
 return elements 1, 2, 4, ... (maybe bounded ?)
}}}
'''[http://1878.cc >>>> 香港六合彩公司 香港六合彩开奖 香港六合彩网站 香港六合彩总公司 香港六合彩特码 ]'''
Line 37: Line 21:
{{{between(list)}}}
 * branch = Basically a linear set of changes. More formally, a list of changes such that no change in the set (except possibly the last) has two parents, and all changes in the list are related to eachother by parent->child relationships.
 * list = a list of (tip, base) tuples for branches we'd like to know the history of. Presumably the client knows about the base of the branch, but not the tip, and wants to find out where in the branch its knowledge ends.
 * tip = the latest revision in a branch the client is interested in (may not be the actual tip of the branch on the server side)
 * base = the earliest revision in a branch the client is interested in. Always a revision the client knows about.
{{{
 for tip, base in list:
   walk back a linear branch, return elements 1, 2, 4, 8..
   (and this lets us do bisection search if we diverge in the middle of one of these long branches)
}}}
'''[http://29kj.com >>>> 香港六合彩开奖现场 香港六合彩官方网 香港六合彩开奖记录 香港六合彩 六合彩开奖结果]'''
Line 48: Line 23:
Now it would be better if the processus was symetrical, at the same time as we descend from remote tips,
we could do the same locally.
For that we would need the following call:
{{{has(list)}}}
 * list = a list of nodes
{{{
 return a list of boolean indicating if the node was found on the server.
}}}
'''[http://29kj.com >>>> 香港六合彩-六合彩图库/六合彩网站/偷偷暗示每期内幕特码资料]'''
Line 57: Line 25:
To minimize roundtrips, it would be nice to combine the has() call with dominators(). '''[http://29kj.com >>>> 香港六合彩开奖结果:香港六合彩图库-六合彩曾道人特码-六合彩开奖结果]'''
Line 59: Line 27:
The current changegroup() uses base nodes, it should instead use common nodes.
{{{changegroup(roots)}}}
 * roots = a list of the latest nodes on every service side changeset branch that both the client and server know about.
{{{
 find all changesets descended from roots and return them as a single changegroup
}}}
A changegroup is a single stream containing:
 * a changelog group
 * a manifest group
 * a list of
   * filename length
   * filename
   * file group (terminated by a zero length filename)
'''[http://29kj.com >>>> 香港六合彩曾道人公开内幕资料— 香港六合彩-特码搜索]'''
Line 73: Line 29:
A group is a list of chunks:
 * chunk length
 * self hash, p1 hash, p2 hash, link hash
 * uncompressed delta to p1
 * (terminated by a zero length chunk)
'''[http://29kj.com >>>> 六合彩|香港六合彩|六合彩公司|曾道人六合彩|六合彩最快开奖结果]'''
Line 79: Line 31:
----
CategoryInternals
'''[http://29kj.com >>>> 香港六合彩/曾道人特码主论坛/六合彩特码主论坛/黄大仙老牌主论坛..]'''

'''[http://29kj.com >>>> 香港六合彩图库,特码,平码,六合彩开奖结果,六合彩开奖历史记录]'''

'''[http://29kj.com >>>> 香港六合彩资料|香港六合彩:香港六合彩曾道人特码|香港六合彩开奖结果...]'''

'''[http://29kj.com >>>> 六合彩香港六合彩香港六合彩总公司六合彩官方网六合彩图库美香港六合 彩六肖图]'''

'''[http://29kj.com >>>> 香港六合彩公司|六合彩网|香港六合彩网|一字解特码|六合彩518222总公司]'''

'''[http://29kj.com >>>> 香港六合彩网站,香港赛马会资料,香港六合彩玄香港六合 彩at 今天最新资料]'''

[http://29kj.com >>>> 香港六合彩曾道人白小姐提供六合彩资料和六合彩开奖结果]

[http://29kj.com >>>> 香港六合彩专业网站,香港赛马会连结,提供香港六合彩特]

[http://29kj.com >>>> 香港六合彩官方网站曾道人内幕玄香港六合 彩大公开]

[http://1878.cc >>>> 香港六合彩天线宝宝公开内幕玄香港六合 彩]

[http://29kj.com >>>> 香港六合彩曾道人特码主论坛六合彩图库白小姐liuhecai]

[http://1878.cc >>>> 香港六合彩内幕玄香港六合 彩大公开]

[http://29kj.com >>>> 香港六合彩开奖结果预测、特码、图库、单双、大小、头数、尾数、平码、特围等开奖综合信息]

[http://1878.cc >>>> 香港六合彩特码白小姐网站:六合彩开奖结果最快现场直播网站]

[http://1878.cc >>>> 香港六合彩开奖现场 香港六合彩官方网 香港六合彩开奖记录 香港六合彩开奖结果 香港六合彩图库]

[http://1878.cc >>>> 香港六合彩公司 香港六合彩开奖 香港六合彩网站 香港六合彩总公司 香港六合彩特码 ]

[http://29kj.com >>>> 香港六合彩开奖现场 香港六合彩官方网 香港六合彩开奖记录 香港六合彩 六合彩开奖结果]

[http://29kj.com >>>> 香港六合彩-六合彩图库/六合彩网站/偷偷暗示每期内幕特码资料]

[http://29kj.com >>>> 香港六合彩开奖结果:香港六合彩图库-六合彩曾道人特码-六合彩开奖结果]

[http://29kj.com >>>> 香港六合彩曾道人公开内幕资料— 香港六合彩-特码搜索]

[http://29kj.com >>>> 六合彩|香港六合彩|六合彩公司|曾道人六合彩|六合彩最快开奖结果]

[http://29kj.com >>>> 香港六合彩/曾道人特码主论坛/六合彩特码主论坛/黄大仙老牌主论坛..]

[http://29kj.com >>>> 香港六合彩图库,特码,平码,六合彩开奖结果,六合彩开奖历史记录]

[http://29kj.com >>>> 香港六合彩资料|香港六合彩:香港六合彩曾道人特码|香港六合彩开奖结果...]

[http://29kj.com >>>> 六合彩香港六合彩香港六合彩总公司六合彩官方网六合彩图库美香港六合 彩六肖图]

[http://29kj.com >>>> 香港六合彩公司|六合彩网|香港六合彩网|一字解特码|六合彩518222总公司]

[http://29kj.com >>>> 香港六合彩网站,香港赛马会资料,香港六合彩玄香港六合 彩at 今天最新资料]

DiscoveryPlan (last edited 2013-04-18 18:37:27 by KevinBullock)