У меня есть Observable, который испускает несколько объектов, и я хочу сгруппировать эти объекты, используя операции window
или buffer
.Однако вместо указания параметра count
для определения того, сколько объектов должно быть в окне, я хочу использовать пользовательские критерии.
Например, предположим, что наблюдаемое излучает экземпляры класса Message
как показано ниже.
class Message(
val int size: Int
)
Я бы хотел буферизовать или оканчивать экземпляры сообщений на основе их переменной size
, а не только их количества.Например, чтобы получить окна сообщений с общим размером не более 5000.
// Something like this
readMessages()
.buffer({ message -> message.size }, 5000)
Есть ли простой способ сделать это?