Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
610f1252
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
610f1252
编写于
5月 01, 2018
作者:
K
Kevin Heifner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move deadline specification to chain_plugin
上级
c820a87e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
23 addition
and
12 deletion
+23
-12
libraries/chain/include/eosio/chain/controller.hpp
libraries/chain/include/eosio/chain/controller.hpp
+3
-4
libraries/testing/tester.cpp
libraries/testing/tester.cpp
+2
-2
plugins/chain_plugin/chain_plugin.cpp
plugins/chain_plugin/chain_plugin.cpp
+14
-5
plugins/chain_plugin/include/eosio/chain_plugin/chain_plugin.hpp
.../chain_plugin/include/eosio/chain_plugin/chain_plugin.hpp
+4
-1
未找到文件。
libraries/chain/include/eosio/chain/controller.hpp
浏览文件 @
610f1252
...
...
@@ -76,12 +76,11 @@ namespace eosio { namespace chain {
/**
*
*/
void
push_transaction
(
const
transaction_metadata_ptr
&
trx
=
transaction_metadata_ptr
(),
fc
::
time_point
deadline
=
fc
::
time_point
::
maximum
()
);
void
push_transaction
(
const
transaction_metadata_ptr
&
trx
,
fc
::
time_point
deadline
);
bool
push_next_unapplied_transaction
(
fc
::
time_point
deadline
=
fc
::
time_point
::
maximum
()
);
bool
push_next_unapplied_transaction
(
fc
::
time_point
deadline
);
transaction_trace_ptr
sync_push
(
const
transaction_metadata_ptr
&
trx
,
fc
::
time_point
deadline
=
fc
::
time_point
::
now
()
+
fc
::
milliseconds
(
30
)
);
transaction_trace_ptr
sync_push
(
const
transaction_metadata_ptr
&
trx
,
fc
::
time_point
deadline
);
/**
* Attempt to execute a specific transaction in our deferred trx database
...
...
libraries/testing/tester.cpp
浏览文件 @
610f1252
...
...
@@ -112,9 +112,9 @@ namespace eosio { namespace testing {
if
(
!
skip_pending_trxs
)
{
//wlog( "pushing all input transactions in waiting queue" );
while
(
control
->
push_next_unapplied_transaction
()
);
while
(
control
->
push_next_unapplied_transaction
(
fc
::
time_point
::
maximum
()
)
);
//wlog( "pushing all available deferred transactions" );
while
(
control
->
push_next_scheduled_transaction
()
);
while
(
control
->
push_next_scheduled_transaction
(
fc
::
time_point
::
maximum
()
)
);
}
control
->
finalize_block
();
...
...
plugins/chain_plugin/chain_plugin.cpp
浏览文件 @
610f1252
...
...
@@ -290,7 +290,7 @@ void chain_plugin::accept_block(const signed_block_ptr& block ) {
}
void
chain_plugin
::
accept_transaction
(
const
packed_transaction
&
trx
)
{
chain
().
push_transaction
(
std
::
make_shared
<
transaction_metadata
>
(
trx
)
);
chain
().
push_transaction
(
std
::
make_shared
<
transaction_metadata
>
(
trx
)
,
get_transaction_deadline
()
);
}
bool
chain_plugin
::
block_is_on_preferred_chain
(
const
block_id_type
&
block_id
)
{
...
...
@@ -306,9 +306,13 @@ controller::config& chain_plugin::chain_config() {
controller
&
chain_plugin
::
chain
()
{
return
*
my
->
chain
;
}
const
controller
&
chain_plugin
::
chain
()
const
{
return
*
my
->
chain
;
}
void
chain_plugin
::
get_chain_id
(
chain_id_type
&
cid
)
const
{
memcpy
(
cid
.
data
(),
my
->
chain_id
.
data
(),
cid
.
data_size
());
}
void
chain_plugin
::
get_chain_id
(
chain_id_type
&
cid
)
const
{
memcpy
(
cid
.
data
(),
my
->
chain_id
.
data
(),
cid
.
data_size
());
}
fc
::
time_point
chain_plugin
::
get_transaction_deadline
()
const
{
return
fc
::
time_point
::
now
()
+
fc
::
milliseconds
(
my
->
max_pending_transaction_time_ms
);
}
namespace
chain_apis
{
...
...
@@ -464,13 +468,18 @@ read_write::push_block_results read_write::push_block(const read_write::push_blo
}
read_write
::
push_transaction_results
read_write
::
push_transaction
(
const
read_write
::
push_transaction_params
&
params
)
{
chain_plugin
*
chain_plug
=
app
().
find_plugin
<
chain_plugin
>
();
FC_ASSERT
(
chain_plug
!=
nullptr
,
"Unable to retrieve chain_plugin"
);
packed_transaction
pretty_input
;
auto
resolver
=
make_resolver
(
this
);
try
{
abi_serializer
::
from_variant
(
params
,
pretty_input
,
resolver
);
}
EOS_RETHROW_EXCEPTIONS
(
chain
::
packed_transaction_type_exception
,
"Invalid packed transaction"
)
auto
trx_trace_ptr
=
db
.
sync_push
(
std
::
make_shared
<
transaction_metadata
>
(
move
(
pretty_input
))
);
auto
trx_trace_ptr
=
db
.
sync_push
(
std
::
make_shared
<
transaction_metadata
>
(
move
(
pretty_input
)),
chain_plug
->
get_transaction_deadline
()
);
fc
::
variant
pretty_output
=
db
.
to_variant_with_abi
(
*
trx_trace_ptr
);;
//abi_serializer::to_variant(*trx_trace_ptr, pretty_output, resolver);
...
...
plugins/chain_plugin/include/eosio/chain_plugin/chain_plugin.hpp
浏览文件 @
610f1252
...
...
@@ -354,7 +354,10 @@ public:
// Only call this after plugin_startup()!
const
controller
&
chain
()
const
;
void
get_chain_id
(
chain
::
chain_id_type
&
cid
)
const
;
// Calculate deadline for controller push_transaction
fc
::
time_point
get_transaction_deadline
()
const
;
void
get_chain_id
(
chain
::
chain_id_type
&
cid
)
const
;
private:
unique_ptr
<
class
chain_plugin_impl
>
my
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录