Converts an RangeSafeCollection value to a singleChannelCacheImpl. On type conversion error, logs a warning and returns nil.
(ctx context.Context, cacheValue interface{})
| 357 | // Converts an RangeSafeCollection value to a singleChannelCacheImpl. On type |
| 358 | // conversion error, logs a warning and returns nil. |
| 359 | func AsSingleChannelCache(ctx context.Context, cacheValue interface{}) *singleChannelCacheImpl { |
| 360 | singleChannelCache, ok := cacheValue.(*singleChannelCacheImpl) |
| 361 | if !ok { |
| 362 | base.WarnfCtx(ctx, "Unexpected channel cache value type: %T", cacheValue) |
| 363 | return nil |
| 364 | } |
| 365 | return singleChannelCache |
| 366 | } |
| 367 | |
| 368 | // Adds a new channel to the channel cache. Locking seqLock is required here to prevent missed data in the following scenario: |
| 369 | // |