Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.rocketmq.store;
import java.util.function.Supplier;
/**
* When write a message to the commit log, returns results
*/
public class AppendMessageResult {
// Return code
private AppendMessageStatus status;
// Where to start writing
private long wroteOffset;
// Write Bytes
private int wroteBytes;
// Message ID
private String msgId;
private Supplier msgIdSupplier;
// Message storage timestamp
private long storeTimestamp;
// Consume queue's offset(step by one)
private long logicsOffset;
private long pagecacheRT = 0;
private int msgNum = 1;
public AppendMessageResult(AppendMessageStatus status) {
this(status, 0, 0, "", 0, 0, 0);
}
public AppendMessageResult(AppendMessageStatus status, long wroteOffset, int wroteBytes, String msgId,
long storeTimestamp, long logicsOffset, long pagecacheRT) {
this.status = status;
this.wroteOffset = wroteOffset;
this.wroteBytes = wroteBytes;
this.msgId = msgId;
this.storeTimestamp = storeTimestamp;
this.logicsOffset = logicsOffset;
this.pagecacheRT = pagecacheRT;
}
public AppendMessageResult(AppendMessageStatus status, long wroteOffset, int wroteBytes, Supplier msgIdSupplier,
long storeTimestamp, long logicsOffset, long pagecacheRT) {
this.status = status;
this.wroteOffset = wroteOffset;
this.wroteBytes = wroteBytes;
this.msgIdSupplier = msgIdSupplier;
this.storeTimestamp = storeTimestamp;
this.logicsOffset = logicsOffset;
this.pagecacheRT = pagecacheRT;
}
public long getPagecacheRT() {
return pagecacheRT;
}
public void setPagecacheRT(final long pagecacheRT) {
this.pagecacheRT = pagecacheRT;
}
public boolean isOk() {
return this.status == AppendMessageStatus.PUT_OK;
}
public AppendMessageStatus getStatus() {
return status;
}
public void setStatus(AppendMessageStatus status) {
this.status = status;
}
public long getWroteOffset() {
return wroteOffset;
}
public void setWroteOffset(long wroteOffset) {
this.wroteOffset = wroteOffset;
}
public int getWroteBytes() {
return wroteBytes;
}
public void setWroteBytes(int wroteBytes) {
this.wroteBytes = wroteBytes;
}
public String getMsgId() {
if (msgId == null && msgIdSupplier != null) {
msgId = msgIdSupplier.get();
}
return msgId;
}
public void setMsgId(String msgId) {
this.msgId = msgId;
}
public long getStoreTimestamp() {
return storeTimestamp;
}
public void setStoreTimestamp(long storeTimestamp) {
this.storeTimestamp = storeTimestamp;
}
public long getLogicsOffset() {
return logicsOffset;
}
public void setLogicsOffset(long logicsOffset) {
this.logicsOffset = logicsOffset;
}
public int getMsgNum() {
return msgNum;
}
public void setMsgNum(int msgNum) {
this.msgNum = msgNum;
}
@Override
public String toString() {
return "AppendMessageResult{" +
"status=" + status +
", wroteOffset=" + wroteOffset +
", wroteBytes=" + wroteBytes +
", msgId='" + msgId + '\'' +
", storeTimestamp=" + storeTimestamp +
", logicsOffset=" + logicsOffset +
", pagecacheRT=" + pagecacheRT +
", msgNum=" + msgNum +
'}';
}
}