[ 
https://issues.apache.org/jira/browse/TIKA-4596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicholas DiPiazza closed TIKA-4596.
-----------------------------------
    Resolution: Duplicate

> Extend PipesClient/PipesServer socket protocol for fetcher management
> ---------------------------------------------------------------------
>
>                 Key: TIKA-4596
>                 URL: https://issues.apache.org/jira/browse/TIKA-4596
>             Project: Tika
>          Issue Type: Task
>          Components: tika-pipes
>            Reporter: Nicholas DiPiazza
>            Priority: Major
>
> h2. Goal
> Extend the socket communication protocol between PipesClient and PipesServer 
> to support fetcher management commands.
> h2. New Commands Needed
> Add to PipesClient.COMMANDS enum:
> * SAVE_FETCHER - Create or update a fetcher
> * DELETE_FETCHER - Remove a fetcher  
> * LIST_FETCHERS - Get available fetcher IDs
> * GET_FETCHER - Get specific fetcher configuration
> h2. Protocol Design
> h3. SAVE_FETCHER
> # Client sends: SAVE_FETCHER command byte
> # Client sends: ExtensionConfig serialized object
> # Server processes: Calls fetcherManager.saveFetcher(config)
> # Server responds: Success/failure status + any error message
> # Client receives: ACK
> h3. DELETE_FETCHER
> # Client sends: DELETE_FETCHER command byte
> # Client sends: Fetcher ID string
> # Server processes: Calls fetcherManager.deleteFetcher(id)
> # Server responds: Success/failure status
> # Client receives: ACK
> h3. LIST_FETCHERS
> # Client sends: LIST_FETCHERS command byte
> # Server processes: Calls fetcherManager.getSupported()
> # Server responds: List of fetcher IDs
> # Client receives: ACK
> h3. GET_FETCHER
> # Client sends: GET_FETCHER command byte
> # Client sends: Fetcher ID string
> # Server processes: Calls fetcherManager.getConfig(id)
> # Server responds: ExtensionConfig or null
> # Client receives: ACK
> h2. Implementation Notes
> * Reuse existing socket communication patterns
> * Follow error handling conventions from existing commands
> * Ensure thread safety
> * Add appropriate logging
> h2. Testing
> * Unit tests for each command
> * Integration tests for client-server communication
> * Error handling tests



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to