allow 0 and Int.max to create an ReplaySubject with unlimited capacity

This commit is contained in:
Florent Pillet 2015-11-20 18:37:30 +01:00
parent a49f5f8462
commit e26eacdb48
1 changed files with 9 additions and 7 deletions

View File

@ -51,16 +51,18 @@ public class ReplaySubject<Element>
/**
Creates new instance of `ReplaySubject` that replays at most `bufferSize` last elements of sequence.
- parameter bufferSize: Maximal number of elements to replay to observer after subscription.
- parameter bufferSize: Maximal number of elements to replay to observer after subscription. Use `0` or `Int.max` for unlimited storage.
- returns: New instance of replay subject.
*/
public static func create(bufferSize bufferSize: Int) -> ReplaySubject<Element> {
if bufferSize == 1 {
return ReplayOne()
}
else {
return ReplayMany(bufferSize: bufferSize)
}
switch bufferSize {
case 0, Int.max:
return ReplayAll()
case 1:
return ReplayOne()
default:
return ReplayMany(bufferSize: bufferSize)
}
}
}