@@ -28,6 +28,7 @@ class UpdateType(Enum):
2828 SPLIT_UPDATE = 'SPLIT_UPDATE'
2929 SPLIT_KILL = 'SPLIT_KILL'
3030 SEGMENT_UPDATE = 'SEGMENT_UPDATE'
31+ RB_SEGMENT_UPDATE = 'RB_SEGMENT_UPDATE'
3132
3233
3334class ControlType (Enum ):
@@ -329,7 +330,7 @@ def __init__(self, channel, timestamp, change_number, previous_change_number, fe
329330 """Class constructor."""
330331 BaseUpdate .__init__ (self , channel , timestamp , change_number )
331332 self ._previous_change_number = previous_change_number
332- self ._feature_flag_definition = feature_flag_definition
333+ self ._object_definition = feature_flag_definition
333334 self ._compression = compression
334335
335336 @property
@@ -352,13 +353,13 @@ def previous_change_number(self): # pylint:disable=no-self-use
352353 return self ._previous_change_number
353354
354355 @property
355- def feature_flag_definition (self ): # pylint:disable=no-self-use
356+ def object_definition (self ): # pylint:disable=no-self-use
356357 """
357358 Return feature flag definition
358359 :returns: The new feature flag definition
359360 :rtype: str
360361 """
361- return self ._feature_flag_definition
362+ return self ._object_definition
362363
363364 @property
364365 def compression (self ): # pylint:disable=no-self-use
@@ -451,6 +452,56 @@ def __str__(self):
451452 """Return string representation."""
452453 return "SegmentChange - changeNumber=%d, name=%s" % (self .change_number , self .segment_name )
453454
455+ class RBSChangeUpdate (BaseUpdate ):
456+ """rbs Change notification."""
457+
458+ def __init__ (self , channel , timestamp , change_number , previous_change_number , rbs_definition , compression ):
459+ """Class constructor."""
460+ BaseUpdate .__init__ (self , channel , timestamp , change_number )
461+ self ._previous_change_number = previous_change_number
462+ self ._object_definition = rbs_definition
463+ self ._compression = compression
464+
465+ @property
466+ def update_type (self ): # pylint:disable=no-self-use
467+ """
468+ Return the message type.
469+
470+ :returns: The type of this parsed Update.
471+ :rtype: UpdateType
472+ """
473+ return UpdateType .RB_SEGMENT_UPDATE
474+
475+ @property
476+ def previous_change_number (self ): # pylint:disable=no-self-use
477+ """
478+ Return previous change number
479+ :returns: The previous change number
480+ :rtype: int
481+ """
482+ return self ._previous_change_number
483+
484+ @property
485+ def object_definition (self ): # pylint:disable=no-self-use
486+ """
487+ Return rbs definition
488+ :returns: The new rbs definition
489+ :rtype: str
490+ """
491+ return self ._object_definition
492+
493+ @property
494+ def compression (self ): # pylint:disable=no-self-use
495+ """
496+ Return previous compression type
497+ :returns: The compression type
498+ :rtype: int
499+ """
500+ return self ._compression
501+
502+ def __str__ (self ):
503+ """Return string representation."""
504+ return "RBSChange - changeNumber=%d" % (self .change_number )
454505
455506class ControlMessage (BaseMessage ):
456507 """Control notification."""
@@ -503,6 +554,9 @@ def _parse_update(channel, timestamp, data):
503554 if update_type == UpdateType .SPLIT_UPDATE and change_number is not None :
504555 return SplitChangeUpdate (channel , timestamp , change_number , data .get ('pcn' ), data .get ('d' ), data .get ('c' ))
505556
557+ if update_type == UpdateType .RB_SEGMENT_UPDATE and change_number is not None :
558+ return RBSChangeUpdate (channel , timestamp , change_number , data .get ('pcn' ), data .get ('d' ), data .get ('c' ))
559+
506560 elif update_type == UpdateType .SPLIT_KILL and change_number is not None :
507561 return SplitKillUpdate (channel , timestamp , change_number ,
508562 data ['splitName' ], data ['defaultTreatment' ])
0 commit comments