package com.alibaba.crr;

/**
 * The callback of {@link CrrTransmit} process.
 *
 * @author Jerry Lee (oldratlee at gmail dot com)
 * @see CrrTransmit
 */
public interface CrrTransmitCallback {
    /**
     * @see CrrTransmit#replay(Object)
     */
    void beforeReplay();

    /**
     * @see CrrTransmit#replay(Object)
     */
    void afterReplay();

    /**
     * @see CrrTransmit#restore(Object)
     */
    void beforeRestore();

    /**
     * @see CrrTransmit#restore(Object)
     */
    void afterRestore();
}

@@ -238,32 +238,40 @@
 ct)%0A     */%0A    
+default 
 void beforeRepla
@@ -265,33 +265,40 @@
 d beforeReplay()
-;
+ %7B%0A    %7D
 %0A%0A    /**%0A     *
@@ -334,32 +334,40 @@
 ct)%0A     */%0A    
+default 
 void afterReplay
@@ -368,17 +368,24 @@
 Replay()
-;
+ %7B%0A    %7D
 %0A%0A    /*
@@ -434,24 +434,32 @@
      */%0A    
+default 
 void beforeR
@@ -466,17 +466,24 @@
 estore()
-;
+ %7B%0A    %7D
 %0A%0A    /*
@@ -536,16 +536,24 @@
  */%0A    
+default 
 void aft
@@ -563,12 +563,19 @@
 estore()
-;
+ %7B%0A    %7D
 %0A%7D%0A

use empty default methods instead of abstract methods in `CrrTransmitCallback`