Corda 使用“传递多个变量”;FlowSession.send";方法
成像我们有两类,付款人类和接收人类。 是否可以使用以下方法传递/发送多个变量:Corda 使用“传递多个变量”;FlowSession.send";方法,corda,Corda,成像我们有两类,付款人类和接收人类。 是否可以使用以下方法传递/发送多个变量: FlowSession.send() 尝试时,例如以下 sessionWithRecipient.send(Variable1) sessionWithRecipient.send(Variable2) 似乎只有第一个变量将被发送到recipient类 在响应程序流中,我使用如下所示的命令接收变量并将其展开: val variable1 = initiatorSession.receive<Int>()
FlowSession.send()
尝试时,例如以下
sessionWithRecipient.send(Variable1)
sessionWithRecipient.send(Variable2)
似乎只有第一个变量将被发送到recipient类
在响应程序流中,我使用如下所示的命令接收变量并将其展开:
val variable1 = initiatorSession.receive<Int>().unwrap { it }
val variable2 = initiatorSession.receive<Int>().unwrap { it }
val variable1=initiatorSession.receive().unwrap{it}
val variable2=initiatorSession.receive().unwrap{it}
你能帮我解决发送和接收多个变量的问题吗?谢谢:)以下操作正常,将
总和为3。
打印到控制台:
@InitiatingFlow
@StartableByRPC
class Initiator(val counterparty: Party) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val counterpartySession = initiateFlow(counterparty)
counterpartySession.send(1)
counterpartySession.send(2)
}
}
@InitiatedBy(Initiator::class)
class Responder(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val int1 = counterpartySession.receive<Int>().unwrap { it }
val int2 = counterpartySession.receive<Int>().unwrap { it }
logger.info("Sum is ${int1 + int2}.")
}
}
@InitiatingFlow
@星表
类发起人(val对方:参与方):FlowLogic(){
@暂停
覆盖有趣的调用(){
val交易对手Session=发起流动(交易对手)
对方会话。发送(1)
对方会话。发送(2)
}
}
@发起人(发起人::类)
类响应程序(val countpartysession:FlowSession):FlowLogic(){
@暂停
覆盖有趣的调用(){
val int1=countpartysession.receive().unwrap{it}
val int2=countpartysession.receive().unwrap{it}
info(“总和为${int1+int2}”)
}
}
以下操作正常,打印总和为3。
到控制台:
@InitiatingFlow
@StartableByRPC
class Initiator(val counterparty: Party) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val counterpartySession = initiateFlow(counterparty)
counterpartySession.send(1)
counterpartySession.send(2)
}
}
@InitiatedBy(Initiator::class)
class Responder(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val int1 = counterpartySession.receive<Int>().unwrap { it }
val int2 = counterpartySession.receive<Int>().unwrap { it }
logger.info("Sum is ${int1 + int2}.")
}
}
@InitiatingFlow
@星表
类发起人(val对方:参与方):FlowLogic(){
@暂停
覆盖有趣的调用(){
val交易对手Session=发起流动(交易对手)
对方会话。发送(1)
对方会话。发送(2)
}
}
@发起人(发起人::类)
类响应程序(val countpartysession:FlowSession):FlowLogic(){
@暂停
覆盖有趣的调用(){
val int1=countpartysession.receive().unwrap{it}
val int2=countpartysession.receive().unwrap{it}
info(“总和为${int1+int2}”)
}
}
而不是发送两次。只需创建一个包含所有所需成员变量的包装器对象。然后将此包装器对象列入白名单。这样你只需要发送一次。我觉得这样更干净。而不是发送两次。只需创建一个包含所有所需成员变量的包装器对象。然后将此包装器对象列入白名单。这样你只需要发送一次。我觉得这样更干净