mirror of
https://github.com/ACINQ/eclair.git
synced 2025-03-13 11:35:47 +01:00
Add message to unset FCM token from peer
This commit is contained in:
parent
d0b405fa62
commit
0850b084ce
4 changed files with 24 additions and 10 deletions
|
@ -146,9 +146,12 @@ class Peer(val nodeParams: NodeParams, remoteNodeId: PublicKey, watcher: ActorRe
|
|||
context.system.eventStream.publish(swapOutResponse)
|
||||
stay
|
||||
|
||||
case Event(f: SendFCMToken, d: ConnectedData) =>
|
||||
log.info(s"peer forwarding $f to peerConnection")
|
||||
d.peerConnection ! FCMToken(f.token)
|
||||
case Event(f: SendSetFCMToken, d: ConnectedData) =>
|
||||
d.peerConnection ! SetFCMToken(f.token)
|
||||
stay
|
||||
|
||||
case Event(f: SendUnsetFCMToken, d: ConnectedData) =>
|
||||
d.peerConnection ! UnsetFCMToken
|
||||
stay
|
||||
|
||||
case Event(c: Peer.OpenChannel, d: ConnectedData) =>
|
||||
|
@ -491,7 +494,8 @@ object Peer {
|
|||
|
||||
case class SendSwapOutRequest(nodeId: PublicKey, amountSatoshis: Satoshi, bitcoinAddress: String, feeratePerKw: Long)
|
||||
case class SendSwapInRequest(nodeId: PublicKey)
|
||||
case class SendFCMToken(nodeId: PublicKey, token: String)
|
||||
case class SendSetFCMToken(nodeId: PublicKey, token: String)
|
||||
case class SendUnsetFCMToken(nodeId: PublicKey)
|
||||
// @formatter:on
|
||||
|
||||
def makeChannelParams(nodeParams: NodeParams, defaultFinalScriptPubkey: ByteVector, localPaymentBasepoint: Option[PublicKey], isFunder: Boolean, fundingAmount: Satoshi): LocalParams = {
|
||||
|
|
|
@ -81,10 +81,16 @@ class Switchboard(nodeParams: NodeParams, watcher: ActorRef, relayer: ActorRef,
|
|||
case None => sender ! Status.Failure(new RuntimeException("no connection to peer"))
|
||||
}
|
||||
|
||||
case f: Peer.SendFCMToken =>
|
||||
case f: Peer.SendSetFCMToken =>
|
||||
getPeer(f.nodeId) match {
|
||||
case Some(peer) => peer forward f
|
||||
case None => log.error(s"could not register fcm token=${f.token} with unknown peer=${f.nodeId}")
|
||||
case None => log.error(s"could not register fcm token=${f.token} to unknown peer=${f.nodeId}")
|
||||
}
|
||||
|
||||
case f: Peer.SendUnsetFCMToken =>
|
||||
getPeer(f.nodeId) match {
|
||||
case Some(peer) => peer forward f
|
||||
case None => log.error(s"could not discard fcm token to unknown peer=${f.nodeId}")
|
||||
}
|
||||
|
||||
case authenticated: PeerConnection.Authenticated =>
|
||||
|
|
|
@ -347,8 +347,10 @@ object LightningMessageCodecs {
|
|||
|
||||
//
|
||||
|
||||
val fcmTokenCodec: Codec[FCMToken] =
|
||||
("fcmToken" | variableSizeBytes(uint16, utf8)).as[FCMToken]
|
||||
val setFcmTokenCodec: Codec[SetFCMToken] =
|
||||
("fcmToken" | variableSizeBytes(uint16, utf8)).as[SetFCMToken]
|
||||
|
||||
val unsetFcmToken: Codec[UnsetFCMToken.type ] = provide(UnsetFCMToken)
|
||||
|
||||
val lightningMessageCodec = discriminated[LightningMessage].by(uint16)
|
||||
.typecase(16, initCodec)
|
||||
|
@ -396,7 +398,8 @@ object LightningMessageCodecs {
|
|||
|
||||
//
|
||||
|
||||
.typecase(35017, fcmTokenCodec)
|
||||
.typecase(35017, setFcmTokenCodec)
|
||||
.typecase(35019, unsetFcmToken)
|
||||
|
||||
val meteredLightningMessageCodec = Codec[LightningMessage](
|
||||
(msg: LightningMessage) => KamonExt.time(Metrics.EncodeDuration.withTag(Tags.MessageType, msg.getClass.getSimpleName))(lightningMessageCodec.encode(msg)),
|
||||
|
|
|
@ -376,4 +376,5 @@ case class SwapOutResponse(chainHash: ByteVector32,
|
|||
|
||||
//
|
||||
|
||||
case class FCMToken(token: String) extends LightningMessage
|
||||
case class SetFCMToken(token: String) extends LightningMessage
|
||||
case object UnsetFCMToken extends LightningMessage
|
||||
|
|
Loading…
Add table
Reference in a new issue