(ctx context.Context, req *ttnpb.JoinRequest, err error)
| 121 | } |
| 122 | |
| 123 | func registerRejectJoin(ctx context.Context, req *ttnpb.JoinRequest, err error) { |
| 124 | events.Publish(evtRejectJoin.NewWithIdentifiersAndData(ctx, nil, err)) |
| 125 | if ttnErr, ok := errors.From(err); ok { |
| 126 | jsMetrics.joinRejected.WithLabelValues(ctx, ttnErr.FullName()).Inc() |
| 127 | } else { |
| 128 | jsMetrics.joinRejected.WithLabelValues(ctx, unknown).Inc() |
| 129 | } |
| 130 | } |
| 131 | |
| 132 | func registerDevNonceReuse(ctx context.Context, msg *ttnpb.JoinRequest) { |
| 133 | jsMetrics.devNonce.reuse.WithLabelValues(ctx, ttnpb.MACVersion_name[int32(msg.SelectedMacVersion)]).Inc() |
no test coverage detected