Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import pushEventsToBrokers from "./usecases/utilities/PushEventsToBroker.mjs";
import publishEventsToBrokers from "./usecases/utilities/StreamEvents.mjs";
import ClickStreamView from "./usecases/clickStream/ClickStreamView";
import StateChangeView from "./usecases/stateChange/StateChangeView";
import getDeviceIPAddress from "./usecases/utilities/GetDeviceIPAddress.mjs";
Expand All @@ -15,7 +15,7 @@ function App() {

function onEventCreationHandler(eventType, data) {
const eventPayload = createEventPayload(eventType, ip, data);
pushEventsToBrokers(eventPayload);
publishEventsToBrokers(eventPayload);
setEventLogs((prevLogs) => [...prevLogs, eventPayload]);
}

Expand Down
37 changes: 37 additions & 0 deletions src/usecases/utilities/StreamEvents.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { CLICK_STREAM_EVENT } from "../../entities/EventType.mjs"
import dotenv from 'dotenv'
import io from 'socket.io-client';

dotenv.config();
const socket_url = process.env.REACT_APP_SERVER_URL + "/websocket"
const BUFFERED_STORAGE_LIMIT = process.env.REACT_APP_BUFFERED_STORAGE_LIMIT
const buffered_push = process.env.REACT_APP_BUFFERED_PUSH_ENABLED
let bufferedStorage = []

console.log(process.env)

const socket = io(socket_url);

async function publishEvent(payload) {
return socket.emit(payload.eventType, { data: payload });
}

export default async function publishEventsToBroker(eventPayload) {
if (buffered_push === 'true') {
if (eventPayload.eventType === CLICK_STREAM_EVENT) {
bufferedStorage.push(eventPayload)
if (bufferedStorage.length >= BUFFERED_STORAGE_LIMIT) {
const bufferedData = bufferedStorage
bufferedStorage = []
await publishEvent(eventPayload)
console.log("Pushed events : ", bufferedData)
return 1
} else {
return 0
}
}
}
await publishEvent(eventPayload)
console.log("Pushed event : ", eventPayload)
return 1
}