Created
January 12, 2012 22:34
-
-
Save kevinherron/1603587 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class WriteRequest extends AbstractWriteRequest<Integer> { | |
private static final int timeout = 1000; | |
private NodeMapDriver driver; | |
protected volatile int sequenceNumber; | |
public WriteRequest(NodeMapDriver driver, List<? extends WriteItem> items) { | |
super(items, timeout); | |
this.driver = driver; | |
} | |
@Override | |
public Object getKey() { | |
return sequenceNumber; | |
} | |
@Override | |
public boolean sendMessage() { | |
sequenceNumber = driver.getTransactionSequence().next(); | |
driver.getExecutionManager().executeOnce(new Runnable() { | |
@Override | |
public void run() { | |
driver.messageDone(sequenceNumber); | |
} | |
}); | |
return true; | |
} | |
@Override | |
public ReceiveAction receiveMessage(Integer message, Object key) { | |
for (WriteItem item : items) { | |
item.setWriteStatus(StatusCode.BAD_NOT_WRITABLE); | |
} | |
return ReceiveAction.Done; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment