86 lines
2.1 KiB
Java
86 lines
2.1 KiB
Java
package im.rosetta.database.entity;
|
||
|
||
import im.rosetta.database.CreateUpdateEntity;
|
||
|
||
import jakarta.persistence.Column;
|
||
import jakarta.persistence.Entity;
|
||
import jakarta.persistence.GeneratedValue;
|
||
import jakarta.persistence.GenerationType;
|
||
import jakarta.persistence.Id;
|
||
import jakarta.persistence.Table;
|
||
|
||
/**
|
||
* Сущность для буфера сообщений, которые не были доставлены получателю, например,
|
||
* из-за того, что он был оффлайн, а так же для синхронизации сообщений
|
||
* между устройствами одного пользователя.
|
||
* Сообщения в буфере хранятся в виде сериализованных пакетов.
|
||
* Когда получатель становится онлайн, сервер пытается доставить ему все сообщения из буфера.
|
||
*/
|
||
@Entity
|
||
@Table(name = "packet_buffer")
|
||
public class Buffer extends CreateUpdateEntity {
|
||
@Id
|
||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||
private Long id;
|
||
|
||
@Column(name = "source")
|
||
private String from;
|
||
|
||
@Column(name = "destination")
|
||
private String to;
|
||
|
||
@Column(name = "packetId")
|
||
private int packetId;
|
||
|
||
@Column(name = "packet", columnDefinition = "bytea")
|
||
private byte[] packet;
|
||
|
||
@Column(name = "timestamp")
|
||
private Long timestamp;
|
||
|
||
|
||
public Long getId() {
|
||
return id;
|
||
}
|
||
|
||
public String getFrom() {
|
||
return from;
|
||
}
|
||
|
||
public String getTo() {
|
||
return to;
|
||
}
|
||
|
||
public byte[] getPacket() {
|
||
return packet;
|
||
}
|
||
|
||
public Long getTimestamp() {
|
||
return timestamp;
|
||
}
|
||
|
||
public void setFrom(String from) {
|
||
this.from = from;
|
||
}
|
||
|
||
public void setTo(String to) {
|
||
this.to = to;
|
||
}
|
||
|
||
public void setPacket(byte[] packet) {
|
||
this.packet = packet;
|
||
}
|
||
|
||
public void setTimestamp(Long timestamp) {
|
||
this.timestamp = timestamp;
|
||
}
|
||
|
||
public int getPacketId() {
|
||
return packetId;
|
||
}
|
||
|
||
public void setPacketId(int packetId) {
|
||
this.packetId = packetId;
|
||
}
|
||
}
|